Tip 1 : Work on fundamentals of C, focus more on reading standard text like The C programming language by DR.
Tip 2 : Operating Systems is a must, use either galvin or tanenbaum.
Tip 3 : Focus on DS Like linked list, trees, stacks , queues and arrays.
Tip 1 : Include Operating system, computer architecture
Tip 2 : Include projects related to IOT
Contained 4 sections:
1. Quantitative Aptitude {Mix of Level-1 & Level-2 of Arun Sharma}
2. C++ Aptitude and Output-Based Questions {little lengthy in nature but easy}
3. Technical questions {Gate Level But some questions were tricky}
DS, ALgo & Operating systems.
What's an OS, Various OS services. What OS manages and how?
I started with the basic definition then explained how OS abstracts hardware, user
convenience.
Since I’ve mentioned Allocation and Management. So He
asked about what OS manages and how? So I answered in terms of CPU scheduling.
What are the different CPU scheduling methods? I answered in terms of uses, CPU utilization, and
response time….like which CPU scheduling better… for example if we want better throughput, we can go
for SJF
Then he asked if two or more processes want to access the same resource. What can happen?
Please read about process sync & critical section problem.
What is a race condition?
Took an example of a transaction, explained how the results can be different based on the order of execution of the instructions.
What is a TSL? How locks can be implemented in OS?
Refer to Test & Set lock.
What is a Semaphore? How it can be implemented? He made me to write the codes for implementation.
Refer to semaphores.
Difference between mutex and semaphore?
Very important question, asked a lot in interviews.



'N' = 4,
4 can be represented as 2^2. So, 4 is the power of two, and hence true is our answer.
I started with a while loop kind of program. The interviewer tried to run some corner cases as well but
my code was correct. So he asked me to optimize it further since it was taking O(logn). Then he made me write binary values for 4,8,12 and after that, he said can u deduce some logic from this? Then I
found the correct logic. He was very happy with this.
Torch and Bridge
There are 4 persons (A, B, C and D) who want to cross a bridge in night. A takes 1 minute to cross the bridge. B takes 2 minutes to cross the bridge. C takes 5 minutes to cross the bridge. D takes 8 minutes to cross the bridge. There is only one torch with them and the bridge cannot be crossed without the torch. There cannot be more than two persons on the bridge at any time, and when two people cross the bridge together, they must move at the slower person’s pace. Can they all cross the bridge in 15 minutes?
I struggled a lot with this puzzle, tried to use greedy approach as well but when I said I can go dynamic
programming he was very skeptical whether I can solve this problem or not. But when I explained the
solution he was very much impressed by the fact that I was not only able to solve the puzzle but also
able to use Computer Science concepts in real life problems.
Focus on projects, Computer Architecture.
1. What is Code Motion?
2. What are the different phases of compilation process?
3. Explain Lexical Analysis?
4. What are macros? What are inline functions?
5. What is recursion? Write a recursive code for zigzag traversal of tree?
6. Explain how recursion works? How recursion goes back to the calling statement after the
based condition is executed?
7. What is Program Counter? What is PCB?
8. Why is relocation needed?
1. What is an interrupt?
2. How are interrupts handled? Explain with an example.
3. How ISR works? What happens when an interrupt is raised?
4. Is there any table involved in the whole process?
It was very easy as expected. We had a chit chat about Qualcomm flagship SoCs.
Regular questions about technology to work upon, location preference and so on.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?