请尊重原创: 转载注明来源   原创在这里哦

C语言广泛用于基础软件、桌面系统、网络通信、音频视频、游戏娱乐等诸多领域。是世界上使用最广泛的编程语言之一。随着物联网技术的发展,C/C++技术在3G网络通信(移动网络、互联网、Zigbee等专用网络)、多媒体处理、智能识别等领域得到了进一步的推动和发展。

作为资深的C++国际软件工程师,必须具备的技能有:

首先,C语言的开发基础(C、C++、算法和数据结构、模板STL)。

(1)Unix/Linux基础。要熟悉Unix/Linux系统的基本操作和基本命令,掌握Vi编辑器的用法。主要内容有,Unix/Linux操作系统Kernel和Shell;Unix/Linux文件系统;常用的Shell命令;vi的使用;环境变量;简单的Shell脚本编程。

(2)标准C基础。要完全掌握C语言的本质,成为一名合格的C程序员还要知道gcc编译器,数据类型,变量和常量;运算符和表达式,分支,循环;数组,函数,指针和字符串,结构,联合和枚举;指针的高级应用,双指针,void指针,函数指针;C标准库,堆积内存分配,IO等。

(3)C++编程。掌握C++语言高级特性,理解面向对象编程思想,掌握封装,继承,多态三大特性,要知道C++异常处理,掌握运算符重载。其中还有,C++命名空间和数据类型;面向对象编程(OOP),类和对象;构造器,拷贝构造,析构,new/delete;运算符重载;面向对象编程(OOP),封装、继承和多态;输入输出流;异常处理(Exception)。

(4)数据结构和算法,线性结构、双向链表、栈和队列、树和二叉树、顺序查找法和二分法查找法、排序法(冒泡、选择、插入、快速),这些有助于LinkedList的实现。

(5)模板和STL类模板和,模板类、函数模板和模板函数、类型推断、类模板和函数模板的特化,智能指针的实现、标准模板库、STL容器、迭代器和算法。这些都是T-Emis企业信息管理系统的重构。

然后,Unix的高级开发和数据库开发(UC编程、OracleSQL、PL/SQL、Pro*c、QT)。

(1)Unix/Linux核心编程,包括:Unix/Linux静态库和共享库的使用;Unix/Linux内存管理(malloc/mmap);
Unix/Linux文件和输入输出设备的系统调用;Unix/Linux进程管理;Unix/Linux信号处理;Unix/Linux进程间通信;Unix/Linux多线程开发;Unix/Linux多线程同步技术。

(2)Oracle数据库和数据库开发。Oracle SQL查询语句,Oracle SQL DML和事务处理语句,Oracle
SQL建表和约束,Oracle 的序列、视图和索引,PL/SQL存储过程,PL/SQL函数,PL/SQL游标和触发器,PL/SQL异常处理,Pro*c操作数据库;动态SQL

(3)QT图形界面开发。要熟练使用QT Creantor和Designer进行开发。

(4)最好还能进行大型项目T-DMS电信计费系统开发,编写T-DMS电信数据采集系统,包括:数据读取模块,数据匹配模块,数据发送模块,数据接收模块,数据保存模块,数据整合模块。

最后,Windows开发/VC++(Win32核心编程、MFC开发、COM组件开发、Windows网络和数据库编程)。

(1)Win32核心编程。包括:Windows窗口程序开发,Windows消息机制和消息相关函数,Windows绘图,Windows空间开发,Windows文件管理和目录管理函数,Windows资源的使用,Windows内存管理,Windows静态库和动态库,Windows进程开发,Windows线程和线程同步。

(2)MFC框架开发,包括:MFC基础,MFC消息映射和消息处理,MFC菜单、工具栏和视图,MFC绘图和DC,MFC集合类,MFC序列化,MFC控件,MFC对话框和属性页,MFC动态库,MFC线程。

(3)COM组件开发,包括:组件和接口基本概念,COM组件和ATL库的应用,类厂和组件,接口调动和接口函数,Automation程序,Activex控件的使用。

(4)WINDOWS网络和数据库编程,其中包括:Windows访问数据库技术ADD(Activex
Data Object);Windows网络基础;有连接协议(TCP)和无连接协议(UDP);Windows Socket APL;MFC
Socket编程。

C++软件工程师,你该会什么?的更多相关文章

  1. [No00004D]深度思考好文:软件工程师的困境

    昨天是我一同学结婚的好日子,同学们大家聊各自的工作,有个同学突然问了我一句:我们同学中好像做软件的不多?如果再细分,好像做网络相关的更少? 回想起当时为何读计算机信息管理的专业,是因为那时听说读电脑未 ...

  2. 一个IC软件工程师的2017年终工作总结

    相比2016年的波澜起伏,2017多了一份平静和清淡.不过,平静的生活下,总有一颗飞向远方的心. 在这一年将近结束的时候,总结一下自己的工作,生活和学习.也顺便展望一下未来的2018,看看有哪些 美好 ...

  3. 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业

    相关文章:随笔<一个程序猿的生命周期>- 逆潮流而动的“叛逆者”        15年前,依稀记得走出大山,进城求学的场景.尽管一路有父亲的陪伴,但是内心仍然畏惧.当父亲转身离去.准备回到 ...

  4. 1、软件工程师要阅读的书籍 - IT软件人员书籍系列文章

    软件工程师要阅读的书籍估计是项目组内最多的.软件工程师处于项目组中最基础的人员储备阶层,与项目的关系最密切.当然,现在是大数据时代,我们无法全部看完所有相关的书籍,只能够先学习工作需要的知识,然后在项 ...

  5. Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结

    Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driv ...

  6. CEO应向软件工程师学习的7个技能

    软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此.但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学 ...

  7. Google前工程经理王忻:如何准备软件工程师的面试

    http://t.jobdu.com/thread-368-1-1.html 导读:原文作者王忻,Google前工程经理,2003年月加入Google,是Google Lively背后的主导力量,是G ...

  8. 转载:CEO应向软件工程师学习的7个技能

    软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此.但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学 ...

  9. 软件工程师所需掌握的“终极技术”是什么?

    软件工程师所需掌握的"终极技术"是什么? http://yunli.blog.51cto.com/831344/1019990 最近,我在微博上看到@程序员邹欣老师发的一条微博 - ...

随机推荐

  1. 【java】RC4加密转16进制获取长度为40的不重复优惠码字符串 【未优化版本】

    需求:需要一串给各机构独有的优惠码 间接需求:固定长度.不重复.没有规律可循 实现思想如下: 1.首先获取一个UUID 2.去除UUID中的“-” 3.小写转大写 4.获取一个固定长度字符串 5.按照 ...

  2. Swift----编程语言语法

    1   简单介绍 今天凌晨Apple刚刚公布了Swift编程语言,本文从其公布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&a ...

  3. jquery中text(),html(),val()在取值上的区别

    1.html():读取和修改一个元素的HTML内容: 2.text():读取和修改一个元素的文本内容: 3.val():读取和修改一个表单元素的value字段值.

  4. mysql flush详解

    http://www.cnblogs.com/ggjucheng/archive/2012/11/07/2758021.html   cnblogs - FLUSH TABLES WITH READ ...

  5. sql time 比较

    数据字段为varchar类型的,格式:20110228 151010想进行时间比较,搜索一个范围内的时间select * from table where  ' 20120102' <`time ...

  6. 取消CentOS 的图形界面 开机直接进入命令行模式(转)

    (1)具体操作   #vi /etc/inittab          –编辑/etc/inittab文件 找到下面语句: # Default runlevel. The runlevels used ...

  7. *Android 多线程下载 仿下载助手(改进版)

    首先声明一点: 这里的多线程下载 并非指的 多个线程下载一个 文件.而是 每一个线程 负责一个文件. 真正的多线程 希望后面能给大家带来.  -------------  欢迎 爱学习的小伙伴 加群 ...

  8. IOS AFNETWORKING POST

    IOS AFNETWORKING POST 请求 #pragma mark post 请求 // 获取 url 路劲,不带参数 NSString *requestUrl = [[url compone ...

  9. iOS用户是否打开APP通知开关跳转到系统的设置界面

    1.检测用户是否打开推送通知  /** 系统通知是否打开 @return 是否打开 */ //检测通知是否打开iOS8以后有所变化 所以需要适配iOS7 + (BOOL)openThePushNoti ...

  10. centos 6 7 differences 区别

    命令 centos6 centos7 ifconfig 有 有 yum install -y net-tools 服务管理 chkconfig /etc/init.d/服务 systemctl sys ...