What we are looking for at SayMosaic. What to prepare.
- Are you familar with more than one part of a project's life circle? (backend, frontend, mobile, devops, etc.)
- Are you familar with JavaScript or a compile-to-JS language?
- Are you interested in our product?
Questions may involve coding, code review, software engineering fundamentals, JS fundamentals, system design. We will be using hangouts and coderpad.
Basic data structure and algorithms. We won't implement a red–black tree. But you should be able to implement a fizz buzz under 10 minutes.
Pretend it is a real life PR involving changes to one file waiting for your review. There might be some issues with the logic of the code, and / or the code is not following the best practices of writing clean code.
You are familar with basic data structures, algorithms, design principles, current best practices. We may not ask you direct questions, but it should be reflected during other questions.
You are either an expert on the ECMAScript specs, or some particular libraries in the ecosystem. We are not looking for memorizing excatly how something is implenmented. But what problems are they trying to solve? How would you implenment a solution? What are the tradeoffs of possible different solutions? This is likely to turn into a design question for experienced candidates.
You know how to design the first version of an application. How to scale it. How to deal with edge cases. What are the tradeoffs of different solutions?
It would be similar questions with the one hour interview, but harder with more time given. Bring your laptop with your favorite setup.
Harder questions that might involve recursion, dynamic programming, tree traversal, etc. It might take 30 min to solve it. Make sure to show us your thinking process, write test cases, and know the time and space complexity of your solution.
We will be looking into a repo instead of just one file. We are likely to pick a popular open source project. We are not expecting you to fix an issue in limited time. We are looking for how you navigate through a code base.
Instead of just talking, we might analyze the performance of some JavaScript code. We might polyfill some utilities or syntax sugar.
More follow up questions to build out an application.