Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Interview Workshop - Technical Questions

Ran Tavory
October 16, 2018
280

Interview Workshop - Technical Questions

Interview workshop passed at appsflyer. The technical questions part

Ran Tavory

October 16, 2018
Tweet

Transcript

  1. Competencies • Team player • Persistence • Fast learner /

    adopter • Autodidact • Takes ownership • Integrity • Self-Driven • Focus • Proactive • Flexibility • Persuasive • Creative • Assertive • Organized • Service oriented • Interpersonal skills • Thoroughness • Execution focused / Task-oriented
  2. Question Types 1. Coding 2. System Design 3. Past Project

    4. How shit works 5. Personal Style
  3. Coding Question • Invent one or pick one from a

    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.
  4. Coding Question • Look into: ◦ Correctness (was the problem

    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
  5. Coding Question • What can you learn: ◦ Skill ▪

    coding ◦ Thinking process ▪ Search the web ▪ Punctuation, Thoroughness ▪ The code communications her thinking
  6. System Design Question • Invent one or pick one from

    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.
  7. System Design Question • What can you learn: ◦ Skills

    ▪ Technical Skills and experience ▪ Communication Skills ◦ Thinking Process ▪ Making tradeoffs ▪ Working with uncertainty
  8. Personal Project Question • Example: ◦ Tell me about a

    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?
  9. Personal Project Question • What to look for: ◦ You

    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?
  10. Personal Project Question • What can you learn: ◦ Skills

    ▪ Technical Skills ▪ Communication Skills ◦ Culture ▪ Team Work ▪ Humble ▪ Ownership
  11. How X Works Question • Examples: ◦ How DNS works?

    ◦ 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”
  12. How X Works Question • What can you learn: ◦

    Skills: ▪ Technical ▪ Experience ▪ Communication ◦ Culture ▪ Autodidact ▪ Deep-diver ▪ humble
  13. Personal Style Question • Example: ◦ Where would you use

    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.
  14. Personal Style Question • What can you learn: ◦ Skills:

    ▪ Communication ◦ Culture ▪ Honest ▪ Autodidact ◦ Thinking Process ▪ Evaluates tradeoffs
  15. The Matrix Tech Skills Communication Culture Think Process Coding ✔

    ✔ Design ✔ ✔ ✔ Project ✔ ✔ ✔ How shit works ✔ ✔ ✔ Style ✔ ✔ ✔
  16. Choosing the right question • Read CV and adjust ◦

    Project ◦ Personal Style ◦ Coding question (by experience) • Follow the flow of the interview ◦ Try to evolve from one question to the next
  17. Exercise • Split to rooms 5.3 (this room), 5.5 (Curiosity)

    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