Summary
I successfully interviewed for a Software Engineer role at Zenon during an on-campus drive. The selection process involved five comprehensive rounds, including technical assessments, system design, and HR, ultimately leading to a job offer.
Full Experience
I went through an on-campus interview process for a Software Engineer role at Zenon.
Round 1: Objective Exam
The first round was an offline objective exam conducted in my college's lecture hall. Out of 140 students, I was among the 20 shortlisted for the next stage. The exam comprised three sections: Maths/Aptitude, DBMS/OS, and SQL queries. It required a strong grasp of core computer science subjects, and there was a 25% negative marking.Round 2: Technical Interview 1
In this round, the discussion primarily revolved around Java architecture, SQL queries, and an optimization problem. The interviewer started by asking me to introduce myself. Then, we delved into Java-specific questions such as: "What is bytecode in Java and its use?", "What is JVM?", "Can we install multiple JVMs on one system, and what would be the benefit?", and "What are Iterators in Java?".A significant part of the round was a problem where I had to process words from a file: store words less than 5 characters long directly into a new file, and for words greater than 5 characters, remove all vowels before storing them. I was also asked to optimize these operations for space and time. Finally, I was given a SQL query to "Display the name of the department and the count of students in each department from the 'department' and 'student' tables." After this round, 10 students, including myself, were shortlisted.
Round 3: Technical Interview 2 (System Design)
This round focused on system design. After a brief introduction, the interviewer asked me to design a food delivery service, similar to Zomato, covering all required entities, their relationships, and associated operations. I had to explain my design approach and thoughts.The second system design question involved preventing duplicate requests at the server side when a client repeatedly clicks a submit button on a web form. The third question was related to database table design: given that a student is associated with a department and can take multiple courses, I had to explain how many tables would be needed to organize this data effectively. I also faced a SQL query related to this configuration, though I don't recall the exact query.
Round 4: Technical Interview 3 (UI Design, OOPs, DSA)
This round again began with my introduction. Since my resume mentioned React.js, I was given a UI design problem: organize and maintain transitions between pages in a React.js application. This involved a login page, a home page with two links, and each link leads to a separate page. I explained my approach using local storage for login credentials, React Router for navigation, and hooks to manage props.Next, a DSA question involved converting a number from 1-1000 into its English word format (e.g., 145 to "One Hundred Forty Five"). Another data structure question presented a network of friends (like Facebook connections) with timestamps. I had to identify the appropriate data structure and approach to answer queries such as "tell the time when F2 connected to F4."
The interviewer also covered OOPs concepts, asking about the "Difference between Method Overloading and Method Overriding," "What is Inheritance?", and an "Output prediction" problem involving multilevel inheritance. The round concluded with another SQL query: "Find the topper student name and his department name from each department in a university database," given 'Student' (id, name, dept_id, score) and 'Department' (dept_id, dept_name) tables. Only 3 students remained after this round.
Round 5: HR Interview
The final round was with HR. The questions were primarily behavioral: "Tell me about yourself," "From which city do you belong?", and "What are your tech interests?". The interviewer also touched upon OOPs, asking about the "Difference between Aggregation and Composition," and SQL, inquiring about "Joins and types of joins" and "Cartesian product and a real-world example."Ultimately, two students, including myself, were selected.
Interview Questions (13)
Given a file containing words, you have to read words from the file and perform the following operations:
- If a word's length is less than 5, directly store it as is to another file.
- If a word's length is greater than 5, remove all vowels from it and then store it in another file.
Display the name of the department and the count of students in each department from the department and student tables.
Design a food delivery service (e.g., Zomato), considering all required entities involved, their relationships, and associated operations. How would you design it? What are your thoughts?
Consider a client-side form with a submit button. After clicking the button, a request is sent to the server for processing. The problem is that the client may click the same button multiple times, sending the same request repeatedly to the server. How would you prevent duplicate requests at the server-side?
You are given a relation where a student is associated with a department, and each student can take 'n' number of courses. How many tables do you need to organize this data?
In UI design, organize and maintain transitions between pages using React.js. The scenario involves a login page, a home page with two links, and each link leads to a separate page.
Given a number ranging from 1 to 1000, return a string that contains the English format of that number. For example, for 145, the output should be 'One Hundred Forty Five'.
You are given a network of friends (imagine Facebook connections) with timestamps, illustrated as:
Friend 1 | Friend 2 | Time of connection F1 | F2 | T1 F3 | F4 | T2 F5 | F6 | T3 F2 | F3 | T4You are then given queries based on these connections (e.g., 'Tell the time when F2 connected to F4'). You need to explain which data structure you would use and what your approach would be to solve this problem.
What is the difference between Method Overloading and Method Overriding in Object-Oriented Programming?
What is Inheritance in Object-Oriented Programming? Provide an explanation and an example of output prediction involving multilevel inheritance.
Find the topper student name and their department name from each department in a university database.
Tables provided:
Student:id,name,dept_id,scoreDepartment:dept_id,dept_name
What is the difference between Aggregation and Composition in Object-Oriented Programming?
Explain Joins and their types in SQL. Also, describe the Cartesian product and provide a real-world example.