I’ve been doing a lot of full-stack web developer (rails) interviews lately and have complied a list of my favorite discussion points to have w/ candidates:
- compare and contrast different servers in rails space
- tradeoffs between evented, process and treaded architectures
- Threading in ruby, how (looking for GIL answer)?
- CPU vs IO build problems. What problems can you solve w/ threading in ruby?
- Explain relational database
- Describe indexes. Discuss tradeoffs
- Explain Document store (b/c people love mentioning MongoDB)
- Describe tradeoffs between strict and flexible schemas (relational vs document)
- Explain key stores
- Explain graphs
- Compare and contrast use cases for 4 types of DBS
- explain vertical scaling vs horizontal scaling and tradeoffs
- explain vertical scaling tradeoffs w/ non-distributed relational databases (expensive joins)
- explain horizontal scaling tradeoffs w/ distributed DBs (CAP).
- Explain Map Reduce
- What are some methods to deploy a rails app?
N+1 Case Study
Have candidate find code smell:
posts = Post.includes(comments: [:author]).all