Software Engineer

Software EngineerG18Medium to Hard

This interview process is for a Software Engineer position at Yandex at the G18 level. It is designed to assess a candidate's technical skills, problem-solving abilities, and cultural fit within the company.

Rounds·3

Timeline·~14d

Experience·3 - 5 yrs

Comp band·US$90000 - US$120000

Interview time·135 min

Evaluation

What they measure.

  • Problem-solving approach and logical thinking.
  • Data structures and algorithms knowledge.
  • Coding proficiency and clean code practices.
  • System design and architectural thinking.
  • Communication and collaboration skills.
  • Behavioral and cultural fit.

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms (arrays, linked lists, trees, graphs, sorting, searching).
  2. Practice coding problems on platforms like LeetCode, HackerRank, or Codewars.
  3. Study system design principles (scalability, reliability, availability, databases, caching, load balancing).
  4. Understand common software engineering concepts (OOP, design patterns, testing, version control).
  5. Prepare for behavioral questions by reflecting on past experiences using the STAR method.
  6. Research Yandex's products, services, and company culture.
  7. Be ready to discuss your resume and past projects in detail.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms

Weeks 1-2: Data Structures & Algorithms Fundamentals. Practice coding problems.

Weeks 1-2: Focus on core data structures (arrays, linked lists, stacks, queues, hash maps) and algorithms (sorting, searching, recursion, dynamic programming). Practice problems related to these topics daily.

Questions

Commonly asked.

  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Design a URL shortening service like bit.ly.
  • Explain the difference between a process and a thread.
  • How would you handle a deadlock in a multi-threaded application?
  • Describe a time you disagreed with a teammate and how you resolved it.
  • What are the trade-offs of using NoSQL databases compared to SQL databases?
  • How do you ensure the scalability and reliability of a web application?
  • Tell me about a project you are particularly proud of.

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

Moscow, Russia

Interview focus

Deep understanding of distributed systems and cloud technologies.Experience with large-scale data processing and optimization.Proficiency in specific Yandex product areas (e.g., Search, Maps, Cloud).

Common questions

  • How would you optimize a database query for a large dataset in a distributed system?
  • Describe a challenging debugging scenario you faced and how you resolved it.
  • Discuss your experience with microservices architecture and its trade-offs.

Tips

  • Familiarize yourself with Yandex's core products and technologies.
  • Be prepared to discuss your contributions to open-source projects if applicable.
  • Highlight experience with performance tuning and scalability challenges.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

Med

Technical Interview (Coding) · 45 min · Software Engineer

This round focuses on assessing your fundamental programming skills. You will be asked to solve coding problems that typically involve data structures and algorithms. The interviewer will evaluate your ability to write efficient, correct, and readable code, as well as your approach to problem-solving.

What they look for

Ability to translate a problem into code.Understanding of time and space complexity.Clean and well-structured code.Ability to communicate the solution clearly.

Evaluation

  • Correctness of the solution.
  • Efficiency of the algorithm (time and space complexity).
  • Code readability and maintainability.
  • Problem-solving approach and logical thinking.

Sample questions

  • Reverse a linked list.

    Data StructuresLinked ListsAlgorithms
  • Find the kth smallest element in a binary search tree.

    Data StructuresTreesBinary Search TreesAlgorithms
  • Implement a function to check if a string is a palindrome.

    StringsAlgorithms

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode.
  2. 02Understand the time and space complexity of your solutions.
  3. 03Write clean, well-commented code.
  4. 04Be prepared to explain your thought process step-by-step.

Common rejection reasons

  • ×Inability to solve coding problems efficiently.
  • ×Poor understanding of fundamental data structures and algorithms.
  • ×Lack of clarity in explaining the thought process.

DSA

Coding questions at Yandex.

Frequently reported on Yandex loops

Other guides

More at Yandex.