The Story about Algorithms in Interviews

Resilient Individuals Jan 21, 2021

Thursday, September 3

"Our interview process is pretty standard. You will have five rounds: three technical, one with HR and the final one – with a hiring manager, each lasting between 40-60 minutes" Anna says on the phone. The script is open on her laptop, but she does not need it — if you recite the same speech ten times a day, text remembers itself. "The first round will be focused on algorithms and data structures, so be prepared to answer questions about time complexity and ..."

"Are you serious?" Jeremy laughs, interrupting the recruiter.

"I'm sorry?" Anna asks with undisguised surprise after a short pause.

"Of course you are! Do your engineers spend time on calculating complexity? No, they reconfigure Kubernetes and move buttons around. That is exactly why you desperately need programmers — because nobody wants to waste their time on your seven rounds".

"Five rounds," Anna corrects reflexively, but the candidate has already hanged up.


Friday, September 4

"And then I tell her: go get another idiot to write code on a whiteboard," Jeremy laughed.

"For real?" Dave almost chokes on beer. "And she?"

"No clue, mate. I've already spent my time listening to how agile they are, that was enough".

Dave recently changed a job and had a completely different story: nobody asked him to reverse linked lists or calculate Big O of made up algorithms. All he got to do was prepare a take-home coding challenge and solve a few problems onsite, all of which were similar to what a programmer might face in their day-to-day work. That leaves Jeremy enough faith that sane companies exist.

"By the way, do you need more developers?"


Monday, September 7

From: hr@catsandchickens.io
To: jeremythewizard@gmail.com
Subject: Coding test

Hi Jeremy,
Thanks for showing interest in our FrontEnd Engineer position at Cats and Chickens!
The first part of our process is a test project that will allow you to demonstrate your coding skills and knowledge of Javascript, CSS and one of the most popular frameworks.
To maximise the efficiency, we ask that you complete the project within 10 days. We understand that you may have a tight schedule, so please let us know if you need some extra time. You will receive a separate email with the details from one of our engineers – they will also be available for you should you need any assistance. Most of our candidates spend 15-20 hours working on a project, but it is totally up to you — there are no minimal or maximum requirements to meet.
I would like to thank you in advance for dedicating time to complete this project!

Wishing you all the best,
Nathan.


Wednesday, September 23

"Rahul, you were looking at his homework project, how was it?" Nathan asks, starting a pre-brief meeting before the onsite interview.

"It existed."

"Sweet, anything else?"

"It was big."

"Perfect."

Sophia, a developer who is about to interview for the first time, looks at Rahul in disbelief. "Didn't you review the code?"

"I was about to", he says and gives a conspiratorial wink. "But then I got an urgent task and had to reconfigure Kubernetes".

Nathan perks up as if remembering something. "You are new, right? What do you plan to ask?"

Sophia prepared a couple of problems, one of which was to merge two sorted arrays. It is a decent warm-up question with numerous potential follow-ups, but Nathan does not seem to like it.

"We do not ask algorithms — only real-world problems engineers face every day. Sorry, but the market dictates new requirements."

"Don't worry, we can rephrase the question to make it work. How about this?.." Rahul pauses for a few moments to formulate a new task. "Our website uses five different APIs to fetch products, all of them ordered by price. Ask the candidate to show them in one list with the cheapest ones at the top."

"Do you mean merging elements from five sorted arrays?"

"Not elements – products. And not arrays – API responses, that's important!" Rahul replies. "And one more thing – never say the word complexity, candidates hate it."

"What should I do then?" Sophia still looks puzzled.

"Ask how it scales."


As always, you can subscribe to Resilient Systems and receive new articles by email if you haven't done it yet.
You also can find me on Twitter or somewhere else – I am always happy to chat :-)

Credits for the cover photo go to Mark Rabe.

Tags

Evgenii Ponomarev

Blogging about long-living systems and common sense. All opinions belong to me, my wife and my cat

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.