Get on Google Play

Discussion on job preparation guideline
#10224
PREPARATION GUIDE FOR THE C++ DEVELOPER POSITION AT JSK GROUP


1. UNDERSTAND THE ROLE AND CONTEXT
• The job is within a technology division that supports multiple business units.
• You will be expected to design, develop, and maintain high‑performance C++ applications (C++11/14/17 or newer).
• The work involves cross‑functional collaboration, integration with external APIs, and ensuring security and stability.

2. EDUCATION AND EXPERIENCE CHECKLIST
• Bachelor’s degree in Computer Science, Software Engineering, IT or a related field is preferred.
• If you do not have a degree, be ready to demonstrate at least 3 years of relevant professional experience.
• Experience in the business domains of Manpower Recruitment or a Group of Companies will be a plus.

3. CORE TECHNICAL SKILLS TO MASTER

A. C++ LANGUAGE AND STANDARDS
– Proficiency with modern C++ (C++11, C++14, C++17, and awareness of C++20 features).
– Deep knowledge of the Standard Template Library (STL) and Boost libraries.

B. CONCURRENCY AND MULTITHREADING
– Understand std::thread, std::async, mutexes, condition variables, lock‑free programming.
– Practice building producer‑consumer pipelines, thread pools, and concurrent data structures.

C. NETWORK PROGRAMMING
– TCP and UDP socket programming on both Linux and Windows.
– Familiarity with libraries such as ASIO or Boost.Asio for asynchronous I/O.

D. SYSTEM PROGRAMMING
– Linux system calls, POSIX threads, Windows API basics.
– Build and debug with gdb / lldb and Visual Studio debugger.

E. DATABASE INTEGRATION
– Connect C++ applications to MySQL and PostgreSQL using native drivers or ORM libraries (e.g., SOCI, libpqxx).
– Practice CRUD operations, prepared statements, and transaction handling.

F. BUILD SYSTEMS
– Write and maintain CMakeLists.txt files; understand generator expressions, target properties, and external project handling.
– Know basic Makefile syntax for legacy projects.

G. OPTIONAL BUT VALUABLE
– Qt framework for GUI development (signals/slots, model‑view architecture).
– Experience with other high‑performance libraries (e.g., Eigen, protobuf).

4. ALGORITHMS, DATA STRUCTURES, AND OOP
• Review classic algorithms (sorting, searching, graph traversal, dynamic programming).
• Implement core data structures (trees, hash tables, priority queues) from scratch in C++.
• Master object‑oriented design principles, SOLID, and common design patterns (Factory, Observer, Strategy).

5. PROJECT BUILD‑UP (SHOWCASE ON GITHUB)

Project 1 – Multithreaded Server
• TCP/UDP server handling thousands of concurrent connections.
• Use Boost.Asio, thread pools, and proper synchronization.

Project 2 – Database‑Backed Service
• C++ micro‑service performing CRUD operations on MySQL/PostgreSQL.
• Include connection pooling and error handling.

Project 3 – Performance‑Critical Module
• Implement a computational kernel (e.g., matrix multiplication) optimized with modern C++ techniques and benchmarked against naïve implementation.

Project 4 – Optional Qt GUI
• Simple desktop tool that visualizes data from the database service.

• Write clean, well‑documented code; commit regularly; tag releases.
• Include a README with build instructions (CMake), dependencies, and usage examples.

6. VERSION CONTROL AND CODE QUALITY
• Use Git for all projects; become comfortable with branching, rebasing, pull‑request workflow.
• Adopt static analysis tools (clang‑tidy, cppcheck).
• Write unit tests with GoogleTest or Catch2; aim for high coverage on critical modules.

7. SOFT SKILLS AND TEAMWORK PREPARATION
• Practice explaining technical decisions to non‑technical stakeholders.
• Participate in code reviews (open‑source projects or peer groups) to develop constructive feedback habits.
• Prepare examples that illustrate problem‑solving, independent work, and collaboration.

8. DOMAIN KNOWLEDGE – MANPOWER RECRUITMENT & GROUP OF COMPANIES
• Research typical software needs in recruitment (e.g., applicant tracking, resume parsing, scheduling).
• Understand how a conglomerate might share services across subsidiaries (shared authentication, reporting, data aggregation).
• Be ready to discuss how you would design modular, reusable components for such environments.

9. INTERVIEW PREPARATION

A. Technical Coding Rounds
– Solve C++ problems on platforms like LeetCode, HackerRank, focusing on O(log n), O(n log n) solutions.
– Practice writing code without IDE assistance, as many online tests require a plain editor.

B. System Design & Architecture
– Prepare to design a high‑throughput service (e.g., messaging system, job‑board API).
– Highlight choices of concurrency model, data storage, scaling strategies, and security considerations.

C. Behavioral Questions
– Use the STAR (Situation, Task, Action, Result) format to tell stories about past projects, especially those involving performance tuning or cross‑team collaboration.

10. RESUME AND APPLICATION TUNING
• Highlight at least 3 years of relevant experience; list concrete achievements (e.g., “Reduced query latency by 40 % by redesigning data access layer”).
• Explicitly mention each of the “added advantage” technologies you have used.
• Include links to GitHub repositories and a brief description of each project.

11. CONTINUOUS LEARNING PLAN
• Subscribe to C++ community newsletters (cppreference, ISO C++ blog).
• Follow a modern C++ book (e.g., “Effective Modern C++” or “C++20 – The Complete Guide”).
• Attend webinars or local meetups on concurrency, network programming, and systems design.


By systematically strengthening the listed technical competencies, building a demonstrable portfolio, and preparing for both technical and behavioral interview facets, you will be well‑positioned to meet the requirements of the C++ Developer role at JSK Group. Good luck!
    Similar Topics
    TopicsStatisticsLast post
    0 Replies 
    67 Views
    by bdchakriDesk
    0 Replies 
    62 Views
    by bdchakriDesk
    0 Replies 
    26 Views
    by bdchakriDesk
    0 Replies 
    40 Views
    by bdchakriDesk
    0 Replies 
    42 Views
    by bdchakriDesk

    PREPARING FOR THE PEOPLE OFFICER POSITION – […]

    Preparation Guide for the Associate Professor (Ele[…]

    PREPARING FOR THE INTERN – ACCESS TO FINANCE[…]