The algorithm session is based on a practical coding problem, feel free to choose a programming language, and IDE you have the domain. At this session it is expected that you interact with the interviewer as much as you can, exposing how you think and what steps are being taken to resolve the problem. It's not expected to create the best solution in the first moment, we expect you to know the limitations of the solution and what could be improved. So stay comfortable with the basic data structures as time and space complexity.
Study guide:
Whiteboard session, at this moment we will design the architecture of a common business that makes part of our daily life. So don't worry, for sure you will be familiar with the problem, and again, feel comfortable talking with the interviewers as much as you can. Usually, we do this section using the Draw IO or Google Jamboard tool.
Study guide: https://github.com/donnemartin/system-design-primer
- Pragmatic Programmer, The: From Journeyman to Master - link
- DDD - Martin Fowler Blog - link
- Domain-Driven Design: Tackling Complexity in the Heart of Software - link
- Building Microservices: Designing Fine-Grained Systems - link
- Clean Code: A Handbook of Agile Software Craftsmanship - link
- APIs - Martin Fowler Blog - link
- Testing - Martin Fowler Blog- link
- Test-Driven Development: By Example - link
- Javascript Advanced Concepts - link
- Developer Roadmaps - link
- OWASP Top Ten - link
- Be relaxed at the interview, mind that there are multiple ways to resolve the same problem, start with a simple solution and after we can improve it
- Clear communication is the key to go well in both whiteboard and coding sessions
- Think about how to test your solution
- Make sure you understood the question well, don't hesitate to ask for clarification
- Before starting coding, take some time to think about the solution, if possible out loud