C++ And OOP Round
سؤال انترفيو في سينوبسيس (مصر) · المرحلة: انترفيو تقني · المجال: التصميم الكائني وأساسيات كمبيوتر ساينس · الوظيفة: مهندس برمجيات · الصعوبة: متوسط · اتسأل 3 مرات، آخرها فبراير 2026
What they ask
The thing candidates get wrong about this company is assuming every role is a hardware role. The tools themselves are large C++ codebases, and the R&D engineering loop is a software interview with a digital design section bolted on, not the reverse. Reports describe the second round as digital plus Verilog plus OOP plus C++ plus puzzles, in that mix.
Virtual functions, and they will go deep. What virtual changes in the object layout, what a vtable is, when the pointer gets set, why a constructor cannot dispatch virtually, and what happens when you delete a derived object through a base pointer with a non virtual destructor. Pure virtual and abstract classes. Why you would ever pay for dynamic dispatch in a tool where runtime is the product.
Pointers, including double pointers. This comes up by name in reports. Pointer to pointer and what you use it for, a pointer to a member function, reference versus pointer, const correctness on both sides of the star, and what a dangling pointer does that a null one does not.
Object lifetime. Constructor and destructor order through an inheritance chain, RAII and why it is the answer to most resource questions, the rule of three and then of five, copy versus move, and shallow versus deep copy with a concrete class that breaks if you get it wrong.
Memory. Stack against heap, what new actually does, why a memory leak in an EDA tool is a different severity of bug than in a web service, and smart pointers with the ownership story each one tells.
Templates, lightly. What they buy you, compile time versus runtime polymorphism, and when a template is the wrong tool.
Output prediction. Short snippets where you say what prints. Slicing, hiding versus overriding, initialisation order, and integer promotion.
What they look for
Reasoning about the machine rather than quoting the standard. The strongest answers connect the language feature to a cost: dispatch costs an indirection, a deep copy costs a traversal, a template costs compile time and code size. In a company that sells software whose runtime is the selling point, that framing lands well.