Overview:
As a Senior C Developer you will play a crucial role in our organization by designing developing and maintaining highquality C applications. Your expertise in software development and understanding of complex algorithms will be instrumental in creating efficient and reliable solutions.
Responsibilities
- Responsible for the design and implementation of highperformance mobile basic components.
- Conduct performance analysis and optimization on C applications.
- Promote and implement the best practices for development and testing.
Requirements:
- Extensive C programming experience solid understanding of the C standard libraries and thorough comprehension of the latest C standards.
- Deep understanding of operating systems especially Linux including but not limited to OS principles kernel file systems device drivers etc.
- Understanding of the layout of the virtual memory space the ability to apply and comprehend memory management concepts of the operating system.
- Familiarity with POSIX API understanding its principles of operation and application scenarios.
- Comprehensive understanding of the entire compilation and linking process as well as LLVM architecture proficient usage of LLDB for debugging alongside a grasp of specific compilers linkers and debugging tools.
- Familiarity with assembly ability to understand the pros and cons of different virtual machine languages such as registerbased and stackbased virtual machine languages.
- Proficiency in C code optimization and bug detection wellversed in using tools like addr2line ASan UBSan etc.
- Outstanding team collaboration spirit and problemsolving ability being able to deliver under pressure.
Bonus Qualifications:
- Experience in mobile application development understanding of the iOS or Android platforms.
- Familiar with blink / v8 / quickjs or has relevant development experience.
- Contributions to opensource projects will be highly appreciated.
c++,mobile application development,c++ programming,memory management,linkers,c++ code optimization,debugging,posix,operating systems,linux,assembly language,compilation and linking process,software development,algorithms,object-oriented programming,posix api,llvm architecture,team collaboration