Zynga | SSE | Bengaluru/Remote | July '22 [Reject]

zynga logo
zynga
SDE IIbengaluru/remote5 yearsRejected
July 17, 20220 reads

Summary

I recently interviewed at Zynga for an SSE role in July '22, undergoing a screening call and two technical rounds covering DSA, system design, and object-oriented design. Despite the valuable experience, my journey concluded with a rejection after the second round.

Full Experience

I recently interviewed at Zynga for an SSE role in July '22, with approximately 5 years of experience. The process began with a recruiter call following my resume screening.

Round 1 (1.5 hr)

This round started with basic questions about my current project and overall experience. Following that, we delved into generic questions on topics like load balancers, authentication vs. authorization, DNS, and the classic "what happens when you enter a URL in a browser."

The coding problem was:

  • Given a M x N integer matrix, convert all negative numbers to positive numbers in the minimum number of passes. In each pass, for a given positive number at (i, j), negative numbers at adjacent locations (i-1, j), (i+1, j), (i, j-1), (i, j+1) can be converted to positive.

I approached this problem with a BFS-based solution, which seemed to work.

Round 2 (1 hr)

I was informed that this would be a problem-solving/LLD round, but it turned out to be more of a system design round.

The first design question was:

  • Design a real-time notification system for an app like Cricbuzz. The requirement was for users to receive live notifications for any current match events (e.g., 4s/6s hit, maiden over, milestones reached), and the system needed to be scalable for millions of users.

I provided a High-Level Design (HLD) outlining the components. The discussion then shifted to handling requests on the client side versus the server side. The interviewer was looking for a solution centered around the observer pattern, and I wasn't able to make significant progress there.

The second question in this round was:

  • Design a system to open and close windows with the following operations:
    1. openWindow(windowName): Should open a new window on top of already existing windows.
    2. closeWindow(windowName): Should close a given window.
    3. getTopWindow(): Should retrieve the most recently opened window.

Initially, I proposed a stack-based solution. However, realizing that the closeWindow operation would be O(N) with a stack, I then suggested an optimized solution using a doubly linked list combined with a Map. This approach would ensure all operations run in O(1) time. The interviewer, however, didn't seem entirely pleased with the added space complexity of my second solution.

Verdict

I was rejected after Round 2. Overall, it was a good experience.

Interview Questions (3)

Q1
Convert Negative Numbers in Matrix
Data Structures & AlgorithmsMedium

Given a MxN integer matrix, I needed to convert all negative numbers to positive numbers in minimum number of passes. In each pass, for a given positive number at (i, j), negative numbers at adjacent locations (i-1, j), (i+1, j), (i, j-1), (i, j+1) could be converted to positive.

Q2
Design Real-time Notification System (Cricbuzz)
System DesignHard

I was asked to design a real-time notification system for an app similar to Cricbuzz. The main requirement was that users should receive live notifications for any current match events (like 4s/6s hit, maiden over, milestones reached). The system also needed to be scalable for millions of users.

Q3
Design System to Open/Close Windows
Data Structures & AlgorithmsMedium

I needed to design a system to open and close windows with the following operations:

  • openWindow(windowName): Should open a new window on top of already existing windows.
  • closeWindow(windowName): Should close a given window.
  • getTopWindow(): Should retrieve the most recently opened window.
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!