Zscaler Logo
Source

Navigating the Zscaler Dev C Internship Interview Process

Dhaval Kumar
4 min readJan 16, 2024

--

A Deep Dive into Zscaler’s Dev C Internship Interview — From DSA to CS Fundamentals, Unraveling the Path to Success in Tech Assessments.

About the Opportunity:

In the last week of May 2023, Zscaler visited my college, IIIT Naya Raipur, in search of interns (2 month summer internship). They were recruiting for roles in Dev C and Dev Test.

Online Assessment

Runtime: 2 hours

The online assessment consisted of four coding questions with varying difficulty levels — one easy, two medium, and one hard, all Leetcode-style problems.

Topics:

  1. Ad Hoc
  2. Bit Masking
  3. Binary Search
  4. Sets, Maps and Hash Maps

Advice:

  1. Practice with Purpose: Focus on a variety of topics, including Ad Hoc, Bit Masking, Binary Search, Sets, Maps, Hash Maps, etc. Solving 200–300 Leetcode-style Medium and Hard problems will help you build a strong foundation.
  2. Time Management: During the assessment, manage your time wisely. Allocate a specific amount of time for each problem and move on if you get stuck.

Remarks:

I successfully solved all the problems and qualified for the next round.

Technical Interview (Round 1)

Runtime: 45 min

Data Structures & Algorithm:

  1. Single Number Leetcode Easy
  2. Search a 2D Matrix II Leetcode Medium

Computer Science Fundamentals:

  1. Explain uses of Mutex and Semaphore.
  2. Code Mutex and Semaphore in C Programming Language.
  3. What is the role of Kernel in Operating System?
  4. What tasks does Kernel performs when Operating System boots.
  5. Differentiate between Multithreading and Multitasking.
  6. Explain the use of Threading with example.
  7. What is the role of Virtual Memory in Operating System?
  8. Explain all the layers in TCP/IP stack and flow of data through each layers.

Advice:

  1. Master Operating Systems and Computer Networks: Invest time in understanding operating systems and computer networks thoroughly. Cover topics like Mutex, Semaphore, Kernel roles, Multithreading, Multitasking, Threading, Virtual Memory, TCP/IP stack, etc.
  2. Practice Explaining Concepts: Practice explaining concepts clearly. Use examples to illustrate your understanding of complex topics like TCP/IP layers.

Remarks:

The Computer Science Fundamentals focused mainly on Operating Systems and Computer Networks. I was able to answer most of the questions, leading to my shortlisting for the next round.

Technical Interview (Round 2)

Runtime: 45 min

Data Structures & Algorithm:

  1. Given an IP Address in the form of a C string, convert and store it into a 32-bit unsigned integer. (eg: char * ip = “17.172.224.47”, ans = 296542255).
  2. Implement In-Place Run-length encoding (RLE) using any language.

C Programming Language:

  1. How does addressing work in C?
  2. Memory allocation in C.
  3. Using a void pointer as a generic.
  4. Mapping out the memory for a given struct.
  5. How strings work in C.
  6. Handling index out of bounds in C.
  7. Communication between two C programs.

Advice:

  1. C/C++ Proficiency: Brush up on your C/C++ skills, especially focusing on pointers, memory allocation, stucts/unions, and string manipulation.
  2. Problem-Solving with Constraints: Understand how to solve problems efficiently in a constrained environment, as seen in the IP Address to 32-bit unsigned integer conversion question.
  3. In-depth C/C++ Knowledge: Be prepared to discuss in-depth topics like void pointers, struct memory mapping, and inter-process communication in C.

Remarks:

This round primarily assessed my understanding of C/C++ and involved questions about pointers, memory allocation, and deallocation. Successfully answering these questions led to my progression to the next round.

Managerial Round (Round 3)

Runtime: 45 min

Data Structures & Algorithm:

  1. Implement In Place Run-length encoding (RLE) using C Programming Language without any extra memory. (Interviewee expected to ask questions for clarification)

C Programming Language:

  1. What is a function pointer? Code it in C and C++.
  2. Consequences of not deallocating memory in C.
  3. Implementation of most functions in C, taking printf as an example.

Advice:

  1. Effective Communication: In addition to technical skills, emphasize effective communication. Clearly ask clarifying questions when faced with a problem, as demonstrated in the RLE problem.
  2. Project Experience: If possible, work on a project using C or solve competitive programming or DSA problems in C. Practical experience is valuable.
  3. Understanding Functionality: For C-related questions, understand the implications of not deallocating memory and be able to implement common functions.

Remarks:

This round focused on the RLE problem and its implementation in C. The interviewer expected me to ask clarifying questions, which helped in solving the problem effectively. The round was conducted by a Manager.

Conclusion:

Participating in the interview at Zscaler was a valuable and rewarding opportunity. After successfully completing the three rounds, I received an offer from Zscaler.

Overall Advice:

  1. Holistic Preparation: Balance your preparation between coding challenges, theoretical knowledge, and practical problem-solving.
  2. Stay Calm and Engage: During interviews, remain calm and engage with the interviewer. It’s crucial to showcase not only technical skills but also your ability to think on your feet.
  3. Continuous Learning: Keep learning and adapting. The tech industry evolves rapidly, and staying updated will enhance your problem-solving abilities.

--

--