Discover more from Basta’s Notes
25 terrible engineer interview questions
Ones that you should never ask
Whoops! I accidentally published an in-progress draft. Very embarrassing. I had multiple tabs open and clicked the Continue button in the wrong one. Sorry for spamming you all. This is the post I meant to publish.
Pretty much every company has some sort of training on what you’re absolutely not allowed to ask to candidates during an interview. The reason they do this is because certain questions are illegal (at least in the United States). Not all bad questions are illegal, though. For example, Google has been asking troubling algorithms questions for decades.
This is a list of some problematic interview questions that are (maybe) not illegal but probably should be.
Estimate the date that a Unicode emoji was (intentionally) written to a floppy disk for the first time.
If hard disks got heavier as you stored more data on them, how would that affect AWS pricing?
What project planning methodology can be used to maximize the number of lines of code written?
If you were trying to sneak a bug into a codebase, how would you do it?
If you were trying to sneak a bug into a codebase to make a more senior engineer look bad, how would you do it?
You're tasked with figuring out which city has the engineers that write the buggiest code. Where do you start?
You join a team that has CI jobs that run for a very long time. To free up resources jobs that run for >24 hours are terminated, but this causes frustration. You're tasked with algorithmically determining which jobs are just slow and which jobs will never complete. How do you design such a system?
What is the best approach for choosing an AWS region to maximize the security of your application?
The candidate is provided with a basic CRUD application. The task is to improve it with blockchain.
How much would you have to be paid to commit a totally legal but fireable offense?
How many bytes is the code for the smallest possible functional microservice?
Design a system for operating elevators. It should be able to scale to buildings of infinite size.
The “byzantine generals problem” helps illustrate a problem of distributed systems in computer science1. How might this problem be different for generals belonging to divisions of armies from the Roman or Mongol empires?
How many valid public IP addresses are also valid US phone numbers? Please also consider 5-digit short codes.
Provide the candidate with a sheet of paper and ask them to write out the correct syntax for a bash
ifstatement conditional on a command failing.
Suppose each ASCII character was an NFT. Rank them from most to least valuable.
Provide the candidate with a company API codebase. Ask them to produce the smallest possible script that will cause the codebase’s on-call to get paged.
Ask the candidate to explain the difference between monads and closures. Offer to let them use items from the office lost and found as props.
List off various certifications. Ask the candidate whether they have the certification, and if they say no, ask why not.
Implement fizz buzz up to the number 1000. Do not use if statements, switch statements, loops, or ternaries.
<div>vertically on a webpage without using CSS.
What would win? 100 microservice-sized monoliths? Or one monolith-sized microservice?
You’re tasked with eliminating one of Asimov’s three laws of robotics to cut costs. Which one do you eliminate?
Give the candidate a project description. Ask them to provide the instructions they’d give to an evil genie to write the code for the project so that the project is delivered successfully.
Several divisions of the Byzantine army are camped outside an enemy city, each division commanded by its own general. The generals can communicate with one another only by messenger. After observing the enemy, they must decide upon a common plan of action. However, some of the generals may be traitors, trying to prevent the loyal generals from reaching agreement. This allegory is used to explain an issue of fault tolerance, where some bad nodes in a cluster may poison the state of all of the nodes.