database • Solve it yourself first! • Example: ◦ Sort an array of 0s, 1s and 2s. • DOs ◦ Define the question precisely. Preferably in writing. ◦ Use a laptop, possibly an IDE (but notepad/vim is enough) ◦ Calibrate.
solved) ◦ SW eng principles: ▪ Cohesion (single responsibility and separation of concerns) ▪ Correct abstraction ▪ DRY ▪ Consistency ▪ ... ◦ Unit Tests ◦ Edge cases and error handling (off by 1s etc) ◦ Time and Space Complexity
a database • Solve it yourself first! • Example: ◦ Design an index for a key-value database • DOs ◦ Define the question imprecisely. ◦ Evolve the question. Start simple and add constraints later.
recent project you were deeply involved in • DOs ◦ For newgrads allow academic project ◦ For experienced devs, make sure the scope is large enough ◦ If you don’t know the domain - say that you don’t know it ◦ Ask: What were your mistakes? ◦ Ask: What if you had to start all over again today? ◦ Ask: What if requirement X was different?
understand, even if it isn’t your domain ◦ Personal involvement ◦ Project scope ◦ Deep understanding of how it works ◦ Tradeoffs and alternatives had been considered ◦ Retaliates well to the “what if” questions ◦ Business understanding (why is this project important to your employer) ◦ What were your personal initiatives in the project?
◦ How Garbage Collection works? ◦ How Redux works? ◦ How Database Indexes work? • DOs: ◦ Dig into the details. ◦ Dig more and more until they say “I don’t know”
Python v/s Go? ◦ What are your favorite CSS features? ◦ What do you look for in Code Review? ◦ What’s your take on TDD? • DOs: ◦ Always follow up with questions.
and 5.7 (Nemesis) • Work in tuples of 3 • 20 minutes interview. Single question: ◦ Personal project • And then switch for another 15 minutes • 3rd person: feedback • Come back and share your learnings and feedback