Yandex logo

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

3 Rounds average
Average Typical difficulty
66.7% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at Yandex.

Showing 3 of 144
Yandex logo
Yandex

Software Engineer

Engineering · nearly a year ago

Intern Average Positive experience Accept offer 5 rounds
Interview process
Take home Technical screen Onsite
Interview formats
Technical Coding

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++.

Confirmed questions2 questions
  • 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++?
Yandex logo
Yandex

Software Engineer

Engineering · a year ago

Entry Average Neutral experience Accept offer 4 rounds
Interview process
Recruiter call Technical screen Technical screen Onsite Offer
Interview formats
Technical Coding Behavioral

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.

Confirmed questions3 questions
  • 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.
Yandex logo
Yandex

Senior Software Engineer

Engineering · more than a year ago

Senior Average Negative experience No offer 3 rounds
Interview process
Recruiter call Technical screen Technical screen
Interview formats
System Design Coding

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.

Confirmed questions2 questions
  • 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.

Interview formats

Coding 45.8%
Technical 30.5%
Behavioral 14.1%
System Design 8.1%
Presentation 0.6%

Interview difficulty

Easy 4.9%
Average 70.1%
Difficult 25%

Candidate experience

Neutral 24.3%
Positive 66.7%
Negative 9%