If I were to hire today, this is how I would structure the interview process:
Round 1: in-person & no AI allowed; test domain expertise and knowledge on the fly
Round 2: a project that must be done with AI (impossible to complete without AI). Candidate assessed not just on the result but also the chat transcript with agents
Failed a coding interview at prominent tech company.
Question: Code a load balancer. It should distribute sessions evenly across servers. Can assume fixed # of servers.
I first implemented round robin. Then I discussed possibility of using a heap to get the server with the least # of sessions in O(1) time, but I didn't know how to efficiently handle the case when a session ends since heap deletion is O(N). I mentioned hashing, but they wanted a different solution with stronger guarantees. I went back to the heap, but didn't know how to improve on O(N) deletion, and I could sense the interviewer didn't seem to care for the heap approach.
I was stuck, and at one point just flat out told the interviewer so. Normally in my experience interviewers actually do provide some guidance when you're genuinely stuck because collaboration itself is a signal most companies grade you on. This one told me to re-examine the requirements / invariants, but I wasn't getting anywhere.
With only 10 minutes remaining, they told me I could code my heap solution to "have that written down". I knew that if I did that I'd run out of time and they'd fail me because it obviously wasn't the solution they were looking for, so I tried to persist on finding the more performant solution.
Eventually I realized they wanted a max difference of 1 session across servers. I asked if we could transfer sessions across servers (I'd mistakenly assumed we couldn't thinking that they'd correct me if my assumption was wrong), then came up with the two bucket solution they were looking for. Only had time to talk through the different cases rather than implement.
Afterwards checked the question on ChatGPT and looks like you can do lazy deletion with heaps.
Learnings
- Heaps support lazy deletion
- Two bucket approach when delta <= 1
- Don't say "I'm assuming X" and assume your interviewer will correct you if you're making an incorrect assumption about the problem constraints. Ask directly.
I do think the interviewer was indexing too much on the specific esoteric solution they were looking for, but obviously sour grapes. If I ever get this question again though, I will definitely pass (which means that these questions probably aren't the best signal).
3 pieces of advice from the last decade that has stuck with me...
When making decisions, pick the harder lane.
Detachment. Remove emotion from any decision
Your first job doesn’t define, and neither does anyone else’s trajectory.
#turning30 🎂
@Werner just delivered his final re:Invent keynote—an emotional moment and memorable talk that closed a 14-year chapter of inspiring developers everywhere.
For me personally, this one is different. Werner was my first manager at @amazon—he hired me out of my grad school to work on my internship project “Dynamo.” He has been a mentor who inspired how I, and many others, think about building. Werner has shown us that great technology starts with a deep passion for solving problems and engaging people. He highlighted how our contributions to customers are changing in an AI-driven world. As we enter this new era of the Renaissance developer, or the modern polymath, the best builders will think beyond code to understand technology's profound impact on humanity.
Thank you, Werner, for your personal guidance and contributions to the broader dev community. An unforgettable final keynote!
Here's a look at The Kernel, a one-of-a-kind newspaper, which was distributed in-person at #AWSreInvent: https://t.co/D0vxAuMpPc
🚀 Today, we announced frontier agents, a new class of AI agents which are a step-function change in what you can do with agents. Our first three agents mark the beginning of a new era in software development:
🟠 Kiro autonomous agent maintains persistent context and learns over time while working independently, so you can focus on your biggest priorities. It can handle a range of tasks—from triaging bugs to improving code coverage—with a single change spanning multiple repositories.
🟠 AWS Security Agent is your virtual security engineer that helps build secure applications by being a security consultant for app design, code reviews, and penetration testing.
🟠 AWS DevOps Agent is your virtual operations team member that helps resolve and proactively prevent incidents. It is on call when incidents happen, instantly responding to issues and using its knowledge of your application and the relationship between components to find the root ause of the problem.
More on how we’re helping customers driving towards an agentic future: https://t.co/lXre9r73TL
#AWSreInvent
You are 200x more likely to get into Harvard University than you are get a job at ElevenLabs.
180,000 people applied for jobs at ElevenLabs in the first 6 months of 2025.
Just 0.018% of people who apply, get a job.
Insane 🤯