Software Engineer I (Embedded) (Intern + Full Time)
Interview Date
September 2024
Result
Offer
Difficulty
Medium to Hard
Rounds
2 rounds (Online Assignment, Interview R1 (Technical), followed by Role Discussion & Final call)
Drive Type
On-Campus Labs (Intern + Full-Time)
Topics asked
Detailed experience
College: One of the best colleges in Bengaluru
Interview Date: September 2024
Interview Type: On-Campus Labs (Intern + Full-Time)
Result: Offer
Difficulty: Medium to Hard
Rounds: 2 rounds (Online Assignment, Interview R1 (Technical), followed by Role Discussion & Final call)
Topics Asked: C & OS output-based questions, pointer arithmetic, Graph algorithms (BFS, DFS, IDDFS, A*, IDA*), OOP concepts, C Language (structures, unions, classes, pointers, storage classes, compilation flow, Macros vs. inline, Dynamic memory allocation), Operating System (context switching, process states, scheduling algorithms, deadlock), Data Structures (arrays, linked lists, trees, graphs), Bitwise operations, Palindrome
This experience details the interview process for a Software Engineer I (Embedded) role, which was a combined Intern + Full-Time opportunity.
Round 1: Online Assignment
The online assignment was for the Embedded profile and consisted of 35 MCQs to be completed in 1 hour. These questions were primarily C & OS output-based with a specific focus on pointer arithmetic. The marking scheme was +3 for correct answers and -1 for incorrect answers. The questions were tailored to the chosen profile (Digital, Analog, or Embedded).
Round 2: Interview R1 (Technical)
This was an elimination round lasting approximately 1 hour. The interviewer started with an introduction and then discussed the candidate's resume, which was filled with software-related (SDE) projects, not specifically embedded. The candidate briefly explained all projects.
The interviewer showed particular interest in a project involving graph algorithms (BFS, DFS, IDDFS, A*, and IDA*), asking for explanations and pseudocode for each. Since the project involved low-level design, questions were also asked about why abstract classes were used, focusing on basic OOP concepts and their utility in the project.
C Language Questions:
Operating System (OS) Questions:
The interviewer also asked about the candidate's self-rating in C, C++, and Python, and familiarity with data structures. The candidate explained various data structures from arrays and linked lists to trees (Fenwick tree, segment tree) and graphs (DSUs, Trie). More pointer questions and bitwise operations were discussed, with only the approach explained on paper. For `malloc`, the candidate explained it and was asked to implement it, discussing fragmentation techniques in OS and memory allocation concepts.
Coding Questions (Easy DSA):
Role Discussion & Final Call
The interviewer explained the technology the candidate would be working on, discussed preparation needs (recalling fundamentals), and shared their experiences in the company. Questions were asked about the number of interviews given, reasons for not being placed yet, and the focus on software companies over core companies. The interviewer went through the entire resume, asking about details like LeetCode, GeeksforGeeks, AtCoder, Codeforces, and CodeChef.