Position
C/C++ Linux Intern
Duration
1–2 Months (Internship)
Technical Requirements
We are looking for a highly motivated intern with excellent programming fundamentals and a passion for systems programming. The candidate should be comfortable writing efficient, clean, and maintainable code in C/C++ and should be eager to work on Linux-based embedded and application software.
Mandatory Skills
· Strong programming skills in C and C++
· Excellent understanding of:
· Data Structures and Algorithms
· Pointers, memory management, and dynamic allocation
· Structures, unions, bit manipulation
· Function pointers
· File handling
· Good knowledge of Linux operating system
· Comfortable using the Linux command line and shell
· Experience with:
· GCC/G++ compiler
· Makefiles or CMake
· GDB debugging
· Understanding of:
· Processes and threads
· Inter-Process Communication (IPC)
· Synchronization mechanisms (Mutexes, Semaphores, Condition Variables)
· Familiarity with POSIX APIs
· Good understanding of TCP/IP networking fundamentals
· Experience using Git for version control
· Ability to debug and troubleshoot software independently
Preferred Skills
· Linux system programming
· Socket programming (TCP/UDP)
· Multithreaded application development
· STL (Standard Template Library)
· Object-Oriented Programming concepts
· Bash scripting
· Basic Python scripting
· Familiarity with OpenCV is an advantage
· Familiarity with computer vision or AI frameworks is a plus
Programming Knowledge Expected
The candidate should be able to confidently work with:
· Arrays, linked lists, stacks, queues, trees, hash tables
· Recursion and algorithm optimization
· Time and space complexity analysis
· Memory leaks and debugging
· Const correctness
· References vs pointers
· Templates (basic understanding)
· Exception handling
· Namespaces
· RAII concepts
· Smart pointers
· Binary file operations
Responsibilities
· Develop software modules in C/C++ on Linux
· Design and implement efficient algorithms
· Debug and optimize existing code
· Work with multithreaded applications
· Participate in code reviews
· Write unit tests where applicable
· Maintain code quality using Git
· Analyze logs and troubleshoot runtime issues
· Document software modules and implementation details
Desired Candidate Profile
· Strong problem-solving and analytical skills
· Excellent programming aptitude
· Ability to quickly understand large codebases
· Self-driven and eager to learn new technologies
· Good debugging and logical reasoning skills
· Ability to write clean, modular, and reusable code
Technical Assessment (Interview Focus)
Candidates should be prepared for questions and coding exercises on:
· C programming (advanced)
· Modern C++
· Linux internals
· Data structures and algorithms
· Multithreading
· IPC mechanisms
· Socket programming
· Memory management
· Debugging using GDB
· Coding problems with emphasis on efficiency and correctness
Pay: Up to ₹10,000.00 per month
Work Location: In person