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

Last updated