└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Interview questions 2 | 3 | Here you will find a list of questions 4 | I usually take inspiration from when I'm 5 | outta topics during an interview. 6 | 7 | I think 8 | the most important parts of the interview 9 | are the conversation and the attitude that 10 | the candidate shows in front of you (and your 11 | other colleagues, if he does multiple 12 | interviews) but at the same time I usually 13 | find myself comfortable discussing things 14 | like "what do you think of multithreading?", 15 | as these type of questions open the doors 16 | for a more broader and interesting discussion. 17 | 18 | (a tiny bit of the process I use is described [here](http://odino.org/things-i-ask-during-interviews/) 19 | , but I should definitely spend some more time 20 | to describe the method) 21 | 22 | Questions are divided into different categories, 23 | so I usually pick 5/6 questions in total -- the 24 | whole interview usually lasts up to 1 hour 25 | as there is an introduction on the company, 26 | the introduction of the candidate etc etc. As I 27 | said, I should spend some more time describing the 28 | whole process in a while. 29 | 30 | ## Attitude / General 31 | 32 | * Why are conferences / meetups important? 33 | * Where do you see yourself in 3 years? 34 | * Why should we hire you? 35 | * What are your reasons for joining us? 36 | * Do you have any open source code you'd like to share with me? 37 | * What are your selling points? 38 | * What are the things you suck at? 39 | * Why would you leave your current company? 40 | * What is your drive? 41 | * Name 3 tools you can't live without. 42 | * What kind of blogs do you read? 43 | * What was the last thing you learned? 44 | * Where do you look for help if you get stuck on a problem for too long? 45 | 46 | ## Career 47 | 48 | * What was the most complex project you worked on? Why was it complex? 49 | * Could you mention some programming practices you're familiar with? 50 | * What are the next 3 things you want to learn? 51 | * What did you learn from your current manager? 52 | 53 | ## Open Source 54 | 55 | * What is a BDFL? Why is the term so popular these days? 56 | * What are the five most important things when writing open source code? 57 | 58 | ## JavaScript 59 | 60 | * Describe an isomorphic JS application 61 | * How do you feel about browserify? 62 | * Underscore vs lodash, what can you tell me? 63 | * Name 3 NPM modules you can't live without. 64 | * What framework would you use to build your next node-based HTTP API? 65 | * What do you think about promises? 66 | * What's your opinion on ReactJS? 67 | * Can you tell me what pjax is? 68 | * What is object.observe()? 69 | 70 | ## Mobile 71 | 72 | * How do you manage dependencies in your projects? 73 | * What error reporting tools do you use? 74 | 75 | ## PHP 76 | 77 | * Recall PHP's history in the past 4 years. Can you name the 3 biggest revolutions in the language itself or in its ecosystem? 78 | * What is the difference between type-hinting in PHP5 and PHP7 ? 79 | * What is a "zval"? 80 | * What are some possible scenarios for usage of the "yield" statement? 81 | 82 | ## Frontend 83 | 84 | * We just deployed an application live and it's slow. Mention 5 things we could do to make it faster 85 | * Do browsers read CSS selectors from right to left or left to right? Why? 86 | * What is "virtual DOM"? 87 | * What is "critical CSS"? 88 | * Do you prefer server or client-side development? 89 | * How do you make cross-domain ajax requests? 90 | 91 | ## DevOps 92 | 93 | * Why is python so uncool these days? Who is replacing it? 94 | * Can Terraform provision beans in Elastic Beanstalk? 95 | * How do you provision new servers? 96 | * What is the main difference between traditional CM tools like Puppet / Chef vs Ansible / SaltStack? 97 | * Which service discovery tools have you used so far? 98 | * You open your website and the browsers says it's not reachable. What do you do? 99 | * Have you ever faced a kernel panic? How did you react? 100 | * What happens if you can't SSH to a machine? 101 | 102 | ## Programming 103 | 104 | * What can you tell me about TDD? 105 | * What are protocol buffers? 106 | * What is the difference between a list and a dictionary? 107 | * Which programming language do you think is the best? 108 | * Describe the facade pattern 109 | * Describe the public API of your ideal event dispatcher. 110 | * Name some design patterns you really like. 111 | * What is agile development? 112 | * In which programming languages are you fluent? 113 | * What is the difference between a rebase and a merge, in git? 114 | * What is dependency injection and why is it good? 115 | * What is DDD? 116 | * Do you know what Ragel is? 117 | * Describe the (Procedural || Functional || Object oriented) programming paradigm to me. 118 | * Why are interfaces useful? 119 | * What is an higher-order function? 120 | * Can you describe the strategy pattern? 121 | * What is smoke testing? 122 | * What is HMVC? 123 | * Can you explain the S.O.L.I.D principles to me? 124 | * What is the aim of using value objects in our model? 125 | * What are the differences between statements and expressions? 126 | 127 | ## Tech 128 | 129 | * What happens when you hit enter in the browser's address bar? 130 | * What is the second-system effect? 131 | * What kind of testing mechanism do you know / use? 132 | * What do you think of multithreading? 133 | * What is the value of simplicity? 134 | 135 | ## Architectures / protocols / API 136 | 137 | * What do you think about HTTP/2? 138 | * What is SOA? 139 | * What do you know about the HTTP cache? 140 | * What are the 5 pillars || tenets || rules of REST? 141 | * Name the 3 most important things; in your opinion, to keep in mind when writing software. 142 | * What is HATEOAS and why is it important when designing a public API? 143 | * Which HTTP methods do you know? 144 | * What are microservices? 145 | * What is the second-system effect? 146 | * I say Stale-While-Revalidate, what do you say? 147 | * How are cookies sent from the server to the client and vice-versa? 148 | 149 | ## Reasoning 150 | 151 | * How many cabs are there in this city? 152 | * How would you explain the color red to a blind person? 153 | * What is heavier: 1kg of feathers or 1kg of concrete? 154 | * What is the difference between complex and complicated? 155 | * Let's say I need you to hire some people for the team. How will you find great software engineers? 156 | 157 | ## Personalities 158 | 159 | * Who is Frederick Brooks? 160 | * What is Misko Hevery known for? 161 | * Who are the gang of four? 162 | * Name some software engineers that you really respect. 163 | * What does the following phrase tell you: "Why The Lucky Stiff"? 164 | * Who is Roy Fielding? 165 | * Who is the spokesman of HTTP/2? 166 | * Who are some of the most known contributors to the HTTP protocol's specification? 167 | --------------------------------------------------------------------------------