EngineeringWiki
  • Introduction
  • Top level Overview of the application
  • FAQs
  • Back End
    • Agent Pipeline
    • Mention Pipeline
    • Profile Pipeline
    • Errors
    • Overview of the Mention/Profile/Cluster Process
    • Adding a New Service
    • Activity and Status Tracking
  • Setup
    • Overview
    • How to Setup Your Local Machine
    • Setup - Cloud Machine
    • Infrastructure
    • Docker
    • Bash Commands
    • Setting up front end in Ubuntu 16.04 desktop
  • Gems/Libraries
    • Bax
    • Creating fixtures for Unit Tests
    • Audienti-Retriever
    • Scour
    • Haystack
    • Audienti-Indexer
    • Audienti-Api
    • Handler
    • Blackbook
    • Allusion
  • Code
    • Multi-step Modal Wizard
    • Structure
    • Audienti DataTables
    • Javascript
      • Passing Props From Root
      • Looping in JS
      • Binding Actions to App
      • CSSTransitionGroup
      • Code Best Practices
      • Reducer Updating an Array with Item in Middle
      • Organizing Javascript
      • Filter Array by Id
    • Design Language
  • Working
    • PostgresSQL
    • S3
    • Terminology
    • Interview Tests
    • Application Descriptions
    • Best Practices
      • Code Organization
      • Code Documentation (using Yard)
      • Git Workflow
      • Tasks and Queues
      • Working in Backend
    • Profiles & Enrichment
      • Profile ID Rules
  • Management
    • API Management
    • Bastion
    • Splash Proxy
    • Rancher
      • OpenVPN Server
      • Traefik Reverse Proxy
  • Teams & Interviews
    • Interview Questions
  • Culture
    • What Makes a World Class Engineer
  • Situational Statuses
    • 2017-11-03
    • 2018-01-09
  • Operations
Powered by GitBook
On this page
  • React.js app with Rails API Backend
  • React Test
  1. Teams & Interviews

Interview Questions

React.js app with Rails API Backend

  • Are you familiar with ES6 and ES7 syntax?

  • Have you used Redux? If so, please rate yourself on a 1-10 scale.

  • What do you do in your code, organizationally, structurally, etc. to make your code clean, clear, and professional?

  • When building an React frontend/Redux + Rails API-based application, particularly one that has a LOT of CRUD, what are some of the strategies you employ to make your code DRY?

  • How do you maintain state in your React app for things like the currentUser, currentProject, or other "container" items?

  • Do you follow any standard guides or best practices?

  • Do you use decorators?

  • Are you familiar with the JSONAPI specification?

React Test

Implement breadcrumbs and a sidebar that react to the current URL. Using CreateReactApp, create a new app. Install Redux and React Router. Install a sidebar and a breadcrumb component.

Then, for each of these URLs:

  • /

    • Sidebar should show Global options of

      • Projects = to the projects list at /projects

      • Logout = to a /logout path

    • Breadcrumb should not display

  • /projects

    • Sidebar should show the projects button as active

    • Breadcrumbs should display

      • Projects = to the projects list (current)

      • No menu

  • /projects/1

    • Sidebar should show

      • Project Name as sidebar title

        • Keywords to = /projects/:projectId/keywords

        • Segments to = /projects/:projectId/segments

        • Workflows to = /projects/:projectId/workflows

      • Global context

        • Projects = to /projects

        • Logout = to /logout

    • Breadcrumbs

      • Projects to = /projects

      • Project = should show active, but not clickable projectId (would be name in real one)

      • Menu (on right hand side)

        • New project = clicks to popup a modal that adds a new project wiht only field of name

        • Project count (shows the total number of projects)

  • /projects/1/keywords

    • Sidebar should show same as above

      • Keywords should be active/highlighted

    • Breadcrumbs should

      • Projects to = /projects

      • ProjectId = /project/1

      • Keywords as active (nonclickable) item

      • Menu

        • New keyword button

  • /projects/1/keywords/1

    • Sidebar should show

      • Keywords should be active links to /projects/1/keywords

    • Breadcrumbs should show

      • Proejcts = /projects

      • ProjectId = /projects/id

      • Keywords = /projects/:projectId/keywords

      • :keywordId = nonclickable text

PreviousTeams & InterviewsNextCulture

Last updated 7 years ago