SDE 2 Embedded Software Developer
Interview Date
—
Result
Selected
Difficulty
Hard (implied by required solid understanding of s
Rounds
2 rounds
Drive Type
Full-Time
Topics asked
Detailed experience
College: Not Specified
Interview Date: Not Specified
Interview Type: Full-Time
Result: Selected
Difficulty: Hard (implied by required solid understanding of system programming and problem-solving)
Rounds: 2 rounds
Topics Asked: C++, Pointers, Memory Management (Static/Dynamic, Stack/Heap), Threads, Mutex, Function Pointers, Smart Pointers (Unique, Shared), References, Auto Keyword, Interface, Lambda Capture, Void Pointers, Leadership Skills, Projects, Linked List Operations (Delete node from middle, head, tail), KMP Algorithm, C/C++ Array Allocation, System Crashes (reasons, avoidance)
This interview experience for an SDE 2 Embedded Software Developer role at Verizon covered a solid understanding of system programming and problem-solving.
Round 1: Technical Interview (1 hour)
The interview started with a brief introduction covering background, experience, and projects. Technical questions included: "What is a pointer? Why do we use pointers?" "How is memory allocated statically in the stack and dynamically in the heap?" "What is the size of a pointer in a 64-bit architecture?" (Answer: 8 bytes). "What will be the output of this snippet: `char* a; void* b; cout << sizeof(a) << " " << sizeof(b) << endl;`" (Output: 8 8). "Write a program to reverse the digits in a number." "What is a thread? What is a mutex?" "How do you declare a pointer to a function?" "What are unique pointers and shared pointers?" "Create an array pointer of size 100 using a unique pointer." (`std::unique_ptr arr = std::make_unique(100);`). "What is a reference? What is the auto keyword? What is an interface? What is lambda capture?" "Do arithmetic operations happen on a void pointer?" (Answer: No). A leadership skill question was also asked: "Have you led any part of your team?" Candidates were expected to be ready to write code for the asked questions.
Round 2: Technical + Behavioral Interview
This round involved an in-depth discussion on past projects and the technologies used. Coding questions included: "Delete a node from the middle, head, and tail of a linked list." "Implement the KMP algorithm for string pattern matching" (discussing brute force and optimized approaches with time and space complexity). Scenario-based questions were also asked: "Create a char array of size 200 in both C and C++ (static and dynamic allocation)." "Why do we use `delete[]` for arrays, but `free(ch)` in C? Does `delete` internally use `free`?" (The explanation provided was that `delete[]` ensures proper destructor calls for C++ objects). "What happens if your system crashes? What could be the possible reasons? How can you avoid it?" (Possible reasons: buffer overflow, dangling pointers, memory leaks. Avoidance strategies: proper memory management, smart pointers, bounds checking, debugging tools). The interviewer concluded by asking if the candidate had any questions.