advanced хаскеля, но надо общая адекватность + какие-то минимальные д е в о п с скиллы
У нас четыре человека в тиме, каждому важно что-то свое, поэтому вопросы достаточно разные (ну и задавали на каждом собеседовании какой-то сабсет этих вопросов, потому что скрипта у нас не было)
Два онсайта по часу, каждый с двумя людьми из тимы, ну и до этого один звонок с тимлидом
1. Can you describe lazy evaluation? What can you see going wrong when using lazy evaluation?
2. Have you ever had problems with a Haskell program that you had to debug by profiling it? Can you describe that process?
3. Performance vs code readability
4. You have just deployed a HTTP-based service, how would you go about monitoring the health of this service?
5. A single instance of a database and a single instance of a HTTP service (exposed to the internet); you want to make this high-availability. What could be done?
6. Did you ever try to introduce something new in your team (new technology or methodology)? How did it go?
7. Opinion on pair-programming?
8. Opinion on trunk-based development? (дебильный вопрос какой-то, если честно)
9. Have you seen the Wire codebase? What do you think?
10. How would you test our backend? (A set of medium-sized services built for high scalability and availability but without complicated business logic)
11. Explain MTL; what do you like about it? drawbacks? anything better than MTL? any interesting effect systems in other languages?
12. Your past experience; how did you work? Team size, knowledge sharing, learning from others, teaching others, process, pull request reviews?
13. What does your ideal CI/CD setup look like? Automatic deployments to production? How do you do no-downtime deployments?
14. What do you like or dislike about our product (https://wire.com)? Anything you would improve?
15. HTTP request in a Haskell app, waht are the different ways a request can fail? How can you deal with some of the failures or at least learn about them? What if the request is asynchronous?
16. Thoughts about Rust?
17. How would you do secrets/tokens/credentials sharing in a small team?
18. If you have relative freedom, how do you choose what tasks to do next / what kind of tasks? Generally, how do you determine priorities when working on a product?
19. Do you have any principles that you would try hard not to compromise on? Which ones?
Нам *нужны* были люди (а не "надо"), "нужна общая адекватность", "навыки", а не "скиллы" и тд
Обсуждают сегодня