/interviews

Random questions to ask during interviews.

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 part of the interview is the conversation and the attitude that the candidate shows in front of you (and your other colleagues, if he does multiple interview) 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 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 in different areas, so I usually pick 5/6 question 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?
  • 3 tools you can't live without
  • what kind of blogs do you read?
  • 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 to you manage dependencies in your projects?
  • what error reporting tools do you use?

PHP

  • think of PHP's history in the past 4 years. Can you name the 3 biggest revolutions in the language itself or in its ecosystem?

Frontend

  • we just deployed an application live and it's slow. Mention 5 things we should 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?
  • name the best programming language?
  • describe the facade pattern
  • can you describe the public API of your ideal event dispatcher
  • can you 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?
  • procedural / functional / OO: can you describe them?
  • why are interfaces useful?
  • what is an higher-order function?
  • can you describe the strategy pattern?
  • what is smoke testing?
  • what is HMVC?

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 is SOA?
  • what do you know about the HTTP cache?
  • what are the 5 pillars | tenets | rules of REST?
  • name the 3 most important thing, 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's heavier, 1kg of feathers or 1kg of concrete?
  • what is the difference between complex and complicated?
  • 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's the gang of four?
  • can you name some software engineers you really respect?
  • Why The Lucky Stiff: what does this tell you?
  • who's Roy Fielding?
  • who is the spokesman of HTTP/2?
  • who are some of the most known contributors to the HTTP protocol's specification?