Please respect the original: Reprint Annotated source original here OH
C language is widely used in basic software, desktop systems, network communications, audio and video, game entertainment and many other fields. is one of the most widely used programming languages in the world. With the development of the technology of IoT, the technology has been further promoted and developed in the fields of 3G network communication (such as mobile network, Internet, ZigBee), multimedia processing and intelligent recognition.
As a senior C + + International software engineer, you must have the following skills:
First, the development base of C language (c, C + +, algorithm and data structure, template STL).
(1) Unix/linux Foundation. Be familiar with basic operation and basic command of Unix/linux system, and Master VI Editor's usage. The main contents are unix/linux operating system kernel and Shell;unix/linux file system, commonly used shell commands, vi, environment variables, simple shell scripting.
(2) Standard C Foundation. To fully understand the nature of C language, to become a qualified C programmer also need to know the GCC compiler, data types, variables and constants; operators and expressions, branches, loops; arrays, functions, pointers and strings, structs, unions and enumerations; advanced application of pointers, double pointers, void pointers, function pointers, C standard libraries, Stacked memory allocations, IO, and more.
(3) C + + programming. Master C + + language advanced features, understand object-oriented programming ideas, Master encapsulation, inheritance, polymorphic three characteristics, to know C + + exception handling, master operator overload. Among them are the C + + namespaces and data types, object-oriented programming (OOP), classes and objects, constructors, copy constructs, destructors, new/delete, operator overloading, object-oriented programming (OOP), encapsulation, inheritance, and polymorphism, input and output streams, and exception handling (Exception).
(4) Data structure and algorithm, linear structure, bidirectional linked list, stack and queue, tree and two fork tree, sequential lookup method and binary search method, sorting method (bubbling, selecting, inserting, fast), which contribute to the realization of LinkedList.
(5) Template and STL class template and, template class, function template and template function, type inference, class template and function template, the realization of intelligent pointer, Standard Template Library, STL container, iterator and algorithm. These are the reconstruction of T-emis Enterprise information Management System.
Then, UNIX advanced Development and database development (UC programming, Oraclesql, Pl/sql, Pro*c, QT).
(1) Unix/linux core programming, including: Unix/linux Static library and shared library use; Unix/linux memory management (MALLOC/MMAP); Unix/linux file and input system calls, Unix/linux process management, unix/linux signal processing, unix/linux interprocess communication, Unix/linux multithread Development, Unix/linux multithread synchronization technology.
(2) Oracle database and database development. Oracle SQL query statements, Oracle SQL DML and transaction processing statements, Oracle SQL tables and constraints, Oracle sequences, views and indexes, pl/sql stored procedures, pl/sql functions, pl/sql cursors and triggers, pl/sql exception handling, Pro*c operation database; dynamic SQL
(3) Qt graphical interface development. be proficient in using QT Creantor and designer for development.
(4) It is best to develop the T-DMS Telecom billing system for large projects, compile the T-DMS Telecom data acquisition system, including: Data reading module, data matching module, data transmission module, data receiving module, data saving module, data Integration module.
Finally, Windows Development/vc++ (WIN32 core Programming, MFC development, COM Component development, Windows networking, and database programming).
(1) Win32 core programming. Includes Windows window program development, Windows Messaging mechanism and message-related functions, Windows drawing, Windows Space Development, Windows file management and directory management functions, Windows Resource Usage, Windows memory management, Windows static libraries and dynamic libraries, Windows process development, Windows threads, and thread synchronization.
(2) MFC framework development, including: MFC Foundation, MFC Message mapping and message processing, MFC menus, toolbars and views, MFC drawing and DC,MFC collection classes, MFC serialization, MFC Controls, MFC dialog boxes and property pages, MFC dynamic Libraries, MFC threads.
(3) COM component development, including: basic concepts of components and interfaces, applications of COM components and ATL libraries, class plants and components, interface mobility and interface functions, automation programs, ActiveX control usage.
(4) Windows Network and database programming, including: Windows Access database technology Add (Activex Data Object); Windows Network Foundation; Connection Protocol (TCP) and connectionless Protocol (UDP); Windows Sockets APL;MFC socket programming.