Odessa Interview Experience for Software Intern
Online Round: 40 MCQs and 2 Medium to hard coding questions
Result: Solved around 35 MCQs. I did both coding questions. Passed all 5 test cases in the first question and 3 test cases in the second question.
Technical Interview 1: I would like to divide the whole interview process into 4 parts.
- Introduction and experience (if any)
- Introduction by the interviewer and by me.
- She asked me about my experience as an intern.
Data structure and algorithm:
- She asked should we start with DSA and if yes, rate yourself on DSA.
- Asked what are data structures you are familiar with.
- I answered Array, stack, queue, tree, and graph.
She asked few questions on array stack and queue. The Questions were.
- Implementation of the queue using stack – Answered with pseudocode and basic approach and time complexity.
- Asked about the time complexity of few operations in the array, stack, and queue.
- Then she asked about the real-time applications of data structures. I chose array, stack, and tree to answer this.
- Further, she asked about where we use the stack or applications of the stack to be specific.
- She gave a program of reversing the first k elements of the queue- I answered with an algorithm of using the stack as auxiliary space to reverse the k elements and a code on paper and showed.
Then she moved onto a linked list and tree. Questions were
- What is a doubly-linked list?
- What is Binary Search Tree
- What will Inorder traversal of BST give?
- How will you find the minimum element of BST— answered with pseudocode and an example.
- Write code for converting sorted doubly linked list to balanced BST.
- Then she asked few questions on the algorithm.
- She asked me to code bubble sort.
- Asked about the approach and time complexity as well.
OOPs: Rate yourself on OOPs concepts. Questions.
- Abstraction and an example
- Static and const variable difference
- What DB you use.
- Asked about the keys in the database.
In the end, she asked any questions for us. I asked about the quick feedback.
Technical Interview 2: The interviewer was a senior product manager.
- He asked me to introduce myself.
- Then he asked few questions on OOPs.
- Abstraction Encapsulation. Their real-life applications asked me to explain how we use them in building software.
- Then we had a general discussion on some more OOPs concepts like aggregation and composition.
- Then he moved on to Operating systems.
- He asked about threads, multithreading OS, problems with multithreading OS.
- Race condition and how can we solve it.
PS: I didn’t revise OS concepts before the interview. But I could just explain what I knew about it. Not in much detail but the definition and few examples, will work in the case where your other parts of the interview go well enough to compensate for this part.
- He asked me the approach to find the middle element. Then I told 2 approaches for this.
- He cross-questioned over a number of elements being odd or even. How will I handle these cases?
- He asked me to find the sum of two numbers represented in the form of a linked list.
- He asked to code the above problem. He changed few cases in between and asked me to code accordingly.
- A medium-level question on arrays.
- Behavioral scenarios. Problems — how will I approach them. Basically checking problem-solving Skills.
- Some company-related real-world problems were focusing on how do I approach them.
- Talked about projects.
- Challenges and experience of the last Internship.
- A bit about myself. What thing am I interested in apart from academics.