Yandex Frontend Interview. Senior+ 5YOE (No hire)
Summary
I interviewed for a Senior+ Frontend role at Yandex with 5 years of experience. I was not hired primarily due to a lack of knowledge in CI/CD, deployment processes, and backend concepts, despite performing well on various technical and algorithmic challenges.
Full Experience
Platform, Algorightms:
- Implement Array.groupby
- Given 2 arrays of intervals find their intersections
- Implement Promise.all, Promise.any
- Implement lodash.debounce (something similar)
- Implement lodash.get
- Does string
sexist in subsequence ofk - Simple hashmap. Messages apear in non consecutive order (let's assume via websockets). We need to log them consecutevly when they appear. Eg messages appear like so
1,3,2,4. First we log1. Then remember3. Then log2and3when we get2. Then log4.
Finals:
- Why we use SSR?
- CI\CD. Have you ever worked with?
- Testing. Why we use it? What types of testing did you use?
- Cases with optimizing your codebase?
- Hardest project\task you ever worked with. How did you deal with that?
Vertict: No hire.
Reason: Don't know CI\CD, Deploy, and backend
Interview Questions (12)
Implement Array.groupby
Implement the Array.groupby method.
Find Intersections of Two Interval Arrays
Given 2 arrays of intervals, find their intersections.
Implement Promise.all and Promise.any
Implement JavaScript's Promise.all and Promise.any methods.
Implement lodash.debounce
Implement a debounce function similar to lodash.debounce.
Implement lodash.get
Implement a function similar to lodash.get for safely accessing nested object properties.
Check if String S is a Subsequence of K
Given two strings, s and k, determine if s exists as a subsequence of k.
Log Consecutive Messages from Out-of-Order Stream
Implement a system to log messages consecutively, even if they appear in a non-consecutive order (e.g., via websockets). For example, if messages appear as 1,3,2,4: First, log 1. Then, remember 3. When 2 arrives, log 2 and then 3. Finally, log 4.
Why use Server-Side Rendering (SSR)?
Explain the reasons and benefits of using Server-Side Rendering (SSR).
Experience with CI/CD
Discuss your experience with Continuous Integration and Continuous Deployment (CI/CD).
Importance and Types of Testing
Explain why testing is important and describe the types of testing you have experience with.
Codebase Optimization Strategies
Describe scenarios where you optimized a codebase and the approaches you took.
Hardest Project/Task and Resolution
Describe the hardest project or task you've worked on and how you approached and resolved it.