Job Description :
Company Description
We are looking for C++ Embedded Software Engineers for our client who is a major player in the semiconductor industry.

Job Description
The individual will be responsible for key modules of the production software throughout the development cycle, ranging from specifying functional requirements by working with multi-disciplinary teams, providing detailed design specifications, outlining testing effort, to implementing the software and executing the testing steps to qualify the product, etc. The engineer will work closely with the team leader, the project management and other developers to create robust software that offers advanced architecture and fulfills the business needs.

Education
-MS Degree or Bachelor’s Degree in Computer Science with a GPA of 3.5 or higher

Requirements
Excellent problem-solving and analytical skills
Excellent communication skills
A passion for programming and software engineering
Minimum 3 years C/C++ programming experiences, with an emphasis on embedded system programming
Minimum 3 years Unix programming experiences, preferably on Solaris or Linux
Experience or proven ability in designing complex software architecture

Bonus
Experience with Clearcase or Python


Qualification Questions:

How strong are they in C
Dynamic memory allocation in C experience
Memory Management
How do you debug a thread?
Multi-Threading questions (race condition)
Circular Buffer based questions
How to allocate and free dynamic allocation,
what does linker do and what is it made up of