
Yandex Software Engineer Interview Questions
& Process
Real candidates share what happened, how many rounds they had,
and how the experience turned out.
Based on 144 interview experiences · FREE TO READ
Candidate interview experiences
First-hand accounts from people who interviewed at Yandex.
Software Engineer
First, there's a 5-hour online assessment (OA) that's pretty tough, requiring you to solve around 3 out of 5 problems. After that, you'll go through about 2-3 technical rounds. If you pass those, they move on to team matching, where you'll have interviews with the team, and they can ask whatever they want – there's no set structure for these. The technical rounds mainly consist of LeetCode-style questions, and sometimes they might ask about language specifics, like how to pass a vector to a function by reference in C++.
- The technical rounds involved easy to medium LeetCode questions within an hour.
- How do you pass a vector to a function by reference in C++?
Software Engineer
First, I had an interview with the recruiter where I discussed my job expectations and was surprisingly asked 3 easy technical questions. Apparently, this was intentional and a surprise element. Next, I went through 3 algorithmic interviews, which were pretty much identical. I was given one easy and one medium coding question in each. On the third interview, I solved the medium question quickly, so they presented me with another medium one. The final round involved interviewing with the teams I was interested in. I got to choose from three teams. I heard there's an option to do a short rotation in each team to get a feel for the work before deciding, but that wasn't offered to me. Lastly, there was a final 'interview' with the recruiter to go over the offer. Since my role wasn't senior enough, I didn't have an architectural discussion, though I know that's part of the process for more senior roles.
- Given two arrays, X and Y, find the minimum absolute difference between any element in X and any element in Y, with the ability to modify the arrays.
- Calculate the minimal value of abs(X[i]-B[j]) for two arrays X and Y, where you are allowed to modify the arrays.
- Find the minimal value of abs(X[i]-Y[j]) between elements of arrays X and Y, with in-place modification allowed.
Senior Software Engineer
The interview process was quite disappointing given the effort I put in. The recruiting team seemed unprofessional and inexperienced with senior candidates. The interview itself included a standard architectural discussion and two coding sessions. While feedback on my performance was positive, the offer fell short by a significant 40% compared to my previously stated salary expectations. No clear explanation was provided for this discrepancy, and most communication happened via informal Telegram calls, with no official email follow-up.
- Given a list of numbers with unique values, like [1,4,5,2,3,9,8,11,0], can you return a string representing the ranges of these numbers, such as "0-5,8-9,11"? And for [1,4,3,2], the result should be "1-4".
- I have a tree where nodes contain characters. How can I check if two nodes are similar, where similarity is defined by having the same set of elements in their respective subtrees?
Yandex Software Engineer Interview Questions
Quoted word for word from Yandex interview reports.
“Given an array of sorted integers `a`, an integer `K`, and an index `index`, find K numbers in the array closest to the element `a[index]`. For example, find_k_closest(a={2, 3, 5, 7, 11}, K=2, index=3) should return {5, 7}. Another example, find_k_closest(a={4, 12, 15, 15, 24}, K=3, index=1) should return {12, 15, 15}. Also, find_k_closest(a={2, 3, 5, 7, 11}, K=2, index=2) could return {3, 5} or {5, 7}.”
Read reports →“How would you remove all smiles from a string, where a smile is defined as a pattern like ":-)))" or ":-((" with any number of parentheses)?”
Read reports →“Given strings T and S, can you find a substring in T that matches S, ignoring the order of characters?”
Read reports →“Given two arrays, X and Y, find the minimum absolute difference between any element in X and any element in Y, with the ability to modify the arrays.”
Read reports →“For a binary tree where each node has left, right, and parent pointers, how would you find the common ancestor of two given nodes?”
Read report →“Given a list of numbers with unique values, like [1,4,5,2,3,9,8,11,0], can you return a string representing the ranges of these numbers, such as "0-5,8-9,11"? And for [1,4,3,2], the result should be "1-4".”
Read report →“Can you split a convex polygon into 4 equal area parts with two perpendicular cuts?”
Read report →“What would be the ROC AUC for an algorithm predicting a random variable between 0 and 1, when there are A positives and B negatives?”
Read report →“Given a function that generates a random number between 0 and 1 (Rand(2)), how can you generate a random number between 0 and 2 (Rand(3))?”
Read report →Formats, difficulty and experience
Across all 144 Yandex interview reports.