Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Root5676823dNo thanks. I might post some typical questions though? (And maybe some not-so-typical from my senior dev interview)
In no particular order:
1) What is Rails?
2) What is MVC?
3) Talk about Rails and security.
4) Describe convention over configuration, and its effect on security. How does it affect upgrading?
5) What is a controller?
6) What is a model?
7) How do models work?
8) What is an abstract model?
9) What is STI?
10) How does STI work? How does Rails implement it?
11) What is polymorphism? How does it work in Rails? Give an example. What does HABTM mean? How does Rails implement this internally?
12) Can you include methods from one class in another class? How about from modules? What are these called?
13) What is a concern? How are they used?
14) What is a migration? How do you write them? How do you run them? How do you revert them?
15) What is an irreversible migration?
16) What is an index? Why should you use them?
17) What is schema.rb for?
18) What are seeds?
19) What are rake tasks? Where do they live?
20) Describe how routing works. What are the verbs? What are they for? How does nesting work? How do the params work?
21) How does pluralization work in Rails? Which areas use which forms?
22) What is a controller filter? Which filters are there? How do you apply/restrict them?
23) What are strong params? How do you use them?
24) Describe the difference between public, private, and protected methods
25) What is method_missing? How is it useful? Can you give some examples of how Rails uses it internally?
26) What is ActiveRecord?
27) What is an ARel table?
28) What is a helper?
29) What are view helpers specifically?
30) How do you use a helper to create a link? a select? a form?
31) How do nested (children) objects work? e.g. allowing a user to create a Person record with `n` associated Contact records from the same form?
32) How do you prevent creating blank children? How do you destroy them along with the parent?
33) What is a hash? array? HashWithIndifferentAccess?
34) What is the difference between a symbol and a string? When (and why) would you use one over the other?
35) How do you store arbitrary precision decimals?
36) How do you interact with the Ruby GC? Why would you?
37) What are specs? What is RSpec?
38) What are fixtures? factories?
39) When would you use them?
40) What is code coverage?
41) What is feature coverage?
42) Which is more important?
43) What is CI?
44) How do you run specs in parallel?
45) What are shared specs?
46) What is an integration spec?
47) Can you test routing? helpers? markup? css?
47) What is Capybara?
48) What is ActiveSupport? What features does it provide?
49) What is ActionCable? How does it work?
50) What is the Rails logger? How do you use it?
51) What is a layout? What is a view? What is a partial? How do you pass data between them? How does Rails make this work?
52) What is an API?
53) How do you version APIs?
54) What is exponential backoff?
55) What is the asset pipeline?
56) What is cachebusting?
57) How do you deploy a Rails application?
58) What is the Rails cache? How does it work? List three ways you can use it, and why/when it's a good idea.
59) What is Unicorn / Passenger? Why are they useful?
60) What is the splat operator? When do you use it?
61) What is the difference between a Proc and a Block?
62) What is the differene between a Proc and a lambda?
63) What is the spaceship operator?
64) How do you safe-chain methods? When is this a good idea? When is it a bad idea?
65) What is the difference between safe-chaining and .try()?
66) What does "Foo#bar" mean in documentation?
67) Why should you not use sequential IDs in anything public-facing?
68) In migrations, how do you limit data types? Why would you? Give examples.
69) What is a Regex?
70) What is a case statement? Why and when should you use these in place of if/else's?
71) How does Ruby error handling work?
72) What are the different types of Errors and Exceptions? What is the difference?
73) What is middleware? Can you give an example?
74) What is Rack specifically?
75) Why did you pick Rails?
76) Have you ever used Ruby by itself?
77) What is the difference between `&&` and `and`? `||` and `or`? `!` and `not`?
78) What is the differene between `if !` and `unless`?
79) How do you force integer division? float division?
80) Give an example of syntatical sugar, and an example of when using it can be a good idea. Give an example of when using it is a bad idea.
81) What is the difference between `Object::Thing` and `Object.thing`?
82) How do a class method and instance method differ?
83) What is an instance variable? What is a class variable? What is a global?
84) When do variables fall out of scope, specifically with procs/blocks?
85) Is Ruby pass by value or reference? When?
86) Describe the difference between `each`, `map`, and `inject`
87) How do you assign to multiple variables at once?
88) What is an implicit return? When is using it a good idea? When is using it a bad idea?
89) What are questionmark methods?
90) What are bang methods?
91) What are scopes?
92) What are validations? What types are there? How do you use them e.g. on forms?
93) What is the point of the Application controller?
94) What is CSRF? How does Rails protect against it?
95) What is a JWT? What is it useful for?
96) How does `render` work? How do you render different actions? different layouts? nothing?
97) How do you redirect?
98) How do you send files? streams? inline PDFs?
99) How do you schedule off-thread background jobs?
100) Who is Matz?