How do you guys do it? I just had my first encounter yesterday for a data engineering job and I sincerely fucked up. My mind went completely blank, I was thinking along all the wrong lines and I think I didn’t even correctly understand the question, because there were all these words that I’ve never heard of.
How do you even prepare for something like that?
Just remember that with challenges like that, the main purpose is to guage your problem solving skills. You don’t necessarily have to complete the challenge in time, don’t necessarily have to make it work error free, etc. They want to see how you work through it all. Don’t get me wrong, if you ace the challenge, that’s great. But they mostly want to make sure you have the fundamentals and skills to comprehend the problem and work through to a solution.
You prepare by fucking up a lot. You’re gonna have to repeat this shit experience enough times that you get numb to it.
If you want to fuck up again, but in a more controlled environment, maybe check out some mock interview service like interviewing.io or others.
But, that’s how it is. I just went through 7 months of getting punched in the balls before getting lucky.
(Also, leetcode and general prep does help a little too.)
What words do you mean?
Also that exercise is not about solving a problem but to observe how you would tackle the problem. And you do that, by asking questions when something is unclear, so you can actually formulate a solution on your head and then bring it onto paper, preferable in a programming language you know or pseudo code.
I’ve always hated programming exercises live during an interview. Way I dealt with it typically was taking notes about it after (so that if you see something similar in a different interview later, you can be better prepared for it). Doing various interviews coding exercises helps a little too.
This is a good point. Being interviewed is a learnt skill. You get better at it by doing more of them. I always advise people to start a job search by going on a couple of interviews that you’re not that interested in.
You can’t do much preparation since you don’t know what they’re going to ask. You can assume there will be some “basic” programming questions, but that’s really as far as you can take it in advance.
My advice here is for during the interview: keep talking. You should always be talking. That’s how the interviewer assesses you. They want to know how you are deconstructing a problem and how you want to solve it. Sitting there silent for 5 minutes and then banging out some code isn’t giving them anything.
“Ok, I need to modify this array and I should try to do that in place. I need to look up the syntax for that because i rarely need to do this…”
“I don’t remember what a splurgenarf is. Can you give me a quick definition before I get started?”
“I’m going to just slop this incomplete code in and run it once to see the output. It won’t work but I want to see if the first part is on the right track.”
“I think you’re asking me to write a wrapper around a basic network call so that it will _______. Is that right?”
Oh, and you’ll always home your first interview if it’s been a few years. Don’t sweat it, and don’t make your first interview at a place you really really want to work because of that. You need to go through a couple of interviews before your brain remembers how to function in a coding interview because it’s so far divorced from how a developer usually works.
If you get stuck, ask for help. Explain what your thinking is, and how you plan to tackle things, and explain what help you need to solve your issue. If you get the job, your employer can work with you if they know you’ll ask for assistance when you need it - they expect to provide training or helpful oversight to any new starter. In the interview test, they are checking your basic knowledge, and also whether you are teachable.
You prepare for these by doing specific exercises for them, sad as it may seem.
Leetcoding problems? You grind them out for a month or two to prepare for doing them during interview loops.
Mock interviews can help too, to get you better at handling the stress. You can use services/groups for these, or just go interview for random places you’re not necessarily planning to actually say yes to.
I understand AI is really unpopular over here but for that I think it can be a good training partner.
Give it the name of the business the job description and let it work a preparation plan.
Also a reminder that sometimes we all fail interviews and that’s the nature of this exercise. And sometimes interviewer will purposefully put you in an impossible scenario just to see how you behave under stress. So remaining calm and humbly saying what you dont know or understand can be a good thing to do. I did get a job for an interview I felt I had completely failed.
Anyway don’t give up and good luck for your next interviews !
Agreed. I suggest the free tier of chatGPT voice mode as a rubber ducky - prompted something like, “ask me software dev interview behavioural questions”.
I didn’t even really bother with getting input on my answers from the LLM, you can reflect on your own how you sounded. It was just good practice being asked a random unexpected question and coming up with a good response.
I don’t prepare, because it’s testing a task that I do pretty much everyday. If I can’t do it on-demand I don’t see how I can call myself a programmer. That said, I do have some strategies.
Often the interviewer isn’t looking for people able to recite detail in the documentation. They are looking at the quality of the code you’ll produce. So I concentrate on explaining my approach to the problem, rather than the code.
- How am I going to structure it?
- Where are my concerns?
- What choices am I making about performance?
…and so on. If it’s on a whiteboard I’ll often write in pseudo-code that looks something like a language, but I’ll state that I’m not trying to write perfect, compiler ready code.
I let them guide me to the level of detail they are looking for.
If it turns out they want to score points on me for missing a bracket, or getting the order of arguments wrong, then I take that as a negative against the company. Interviews go both ways, and you’re looking for people you can work with too. So if they’re going to nitpick in an interview they’re probably going to be horrible to work with day-to-day.
If I can’t do it on-demand I don’t see how I can call myself a programmer.
Context for all of the following: I am a long time programmer who is also a hiring manager for programmers.
Interviews are not real life. During an interview the dynamics of power imbalance between yourself and the people deciding on your livelihood fuck with most people’s brains and cause them to think and behave differently than they do in real life. During an interview people are nervous, vulnerable, and outside of their element to an extreme degree.
Someone struggling to perform at anywhere near their normal level during an interview is exceedingly common and reasonable. It’s super silly to say “if you can’t perform under extreme stress that you won’t experience day to day then you just aren’t a real programmer”.
Edit: tagging @[email protected] because they should see this too.




