Interview questions
Here you will find a list of questions I usually take inspiration from when I'm outta topics during an interview.
I think the most important parts of the interview are the conversation and the attitude that the candidate shows in front of you (and your other colleagues, if he does multiple interviews) but at the same time I usually find myself comfortable discussing things like "what do you think of multithreading?", as these type of questions open the doors for a more broader and interesting discussion.
(a tiny bit of the process I use is described here , but I should definitely spend some more time to describe the method)
Questions are divided into different categories, so I usually pick 5/6 questions in total -- the whole interview usually lasts up to 1 hour as there is an introduction on the company, the introduction of the candidate etc etc. As I said, I should spend some more time describing the whole process in a while.
Attitude / General
- Why are conferences / meetups important?
- Where do you see yourself in 3 years?
- Why should we hire you?
- What are your reasons for joining us?
- Do you have any open source code you'd like to share with me?
- What are your selling points?
- What are the things you suck at?
- Why would you leave your current company?
- What is your drive?
- Name 3 tools you can't live without.
- What kind of blogs do you read?
- What was the last thing you learned?
- Where do you look for help if you get stuck on a problem for too long?
Career
- What was the most complex project you worked on? Why was it complex?
- Could you mention some programming practices you're familiar with?
- What are the next 3 things you want to learn?
- What did you learn from your current manager?
Open Source
- What is a BDFL? Why is the term so popular these days?
- What are the five most important things when writing open source code?
JavaScript
- Describe an isomorphic JS application
- How do you feel about browserify?
- Underscore vs lodash, what can you tell me?
- Name 3 NPM modules you can't live without.
- What framework would you use to build your next node-based HTTP API?
- What do you think about promises?
- What's your opinion on ReactJS?
- Can you tell me what pjax is?
- What is object.observe()?
Mobile
- How do you manage dependencies in your projects?
- What error reporting tools do you use?
PHP
- Recall PHP's history in the past 4 years. Can you name the 3 biggest revolutions in the language itself or in its ecosystem?
- What is the difference between type-hinting in PHP5 and PHP7 ?
- What is a "zval"?
- What are some possible scenarios for usage of the "yield" statement?
Frontend
- We just deployed an application live and it's slow. Mention 5 things we could do to make it faster
- Do browsers read CSS selectors from right to left or left to right? Why?
- What is "virtual DOM"?
- What is "critical CSS"?
- Do you prefer server or client-side development?
- How do you make cross-domain ajax requests?
DevOps
- Why is python so uncool these days? Who is replacing it?
- Can Terraform provision beans in Elastic Beanstalk?
- How do you provision new servers?
- What is the main difference between traditional CM tools like Puppet / Chef vs Ansible / SaltStack?
- Which service discovery tools have you used so far?
- You open your website and the browsers says it's not reachable. What do you do?
- Have you ever faced a kernel panic? How did you react?
- What happens if you can't SSH to a machine?
Programming
- What can you tell me about TDD?
- What are protocol buffers?
- What is the difference between a list and a dictionary?
- Which programming language do you think is the best?
- Describe the facade pattern
- Describe the public API of your ideal event dispatcher.
- Name some design patterns you really like.
- What is agile development?
- In which programming languages are you fluent?
- What is the difference between a rebase and a merge, in git?
- What is dependency injection and why is it good?
- What is DDD?
- Do you know what Ragel is?
- Describe the (Procedural || Functional || Object oriented) programming paradigm to me.
- Why are interfaces useful?
- What is an higher-order function?
- Can you describe the strategy pattern?
- What is smoke testing?
- What is HMVC?
- Can you explain the S.O.L.I.D principles to me?
- What is the aim of using value objects in our model?
- What are the differences between statements and expressions?
Tech
- What happens when you hit enter in the browser's address bar?
- What is the second-system effect?
- What kind of testing mechanism do you know / use?
- What do you think of multithreading?
- What is the value of simplicity?
Architectures / protocols / API
- What do you think about HTTP/2?
- What is SOA?
- What do you know about the HTTP cache?
- What are the 5 pillars || tenets || rules of REST?
- Name the 3 most important things; in your opinion, to keep in mind when writing software.
- What is HATEOAS and why is it important when designing a public API?
- Which HTTP methods do you know?
- What are microservices?
- What is the second-system effect?
- I say Stale-While-Revalidate, what do you say?
- How are cookies sent from the server to the client and vice-versa?
Reasoning
- How many cabs are there in this city?
- How would you explain the color red to a blind person?
- What is heavier: 1kg of feathers or 1kg of concrete?
- What is the difference between complex and complicated?
- Let's say I need you to hire some people for the team. How will you find great software engineers?
Personalities
- Who is Frederick Brooks?
- What is Misko Hevery known for?
- Who are the gang of four?
- Name some software engineers that you really respect.
- What does the following phrase tell you: "Why The Lucky Stiff"?
- Who is Roy Fielding?
- Who is the spokesman of HTTP/2?
- Who are some of the most known contributors to the HTTP protocol's specification?