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

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. php命令行查看扩展信息

    通常,在php的开发过程中,我们会使用到第三方扩展,这时候,我们对于php扩展的信息的查看就显得尤为重要了.一般情况下,我们查看到扩展信息,都是直接通过 cat *.ini  文件来进行,这样子的效率 ...

  2. C#中通过反射获取类中非公有成员

    public class NGlbGlobeXComm { public static T GetPrivateField<T>(object instance, string field ...

  3. 【Scala类型系统】自身类型(self type)引用

    定义 特质能够要求混入它的类扩展自还有一个类型,可是当使用自身类型(self type)的声明来定义特质时(this: ClassName =>).这种特质仅仅能被混入给定类型的子类其中. 如果 ...

  4. servelet

    获取页面传递过来的参数. 调用后台代码实现相关业务逻辑. 根据返回结果,进行页面跳转.   问题:httpsession? 拆解: String 里面的.spllit方法.拆开后,返回值为string ...

  5. ssm 网页

    http://stackoverflow.com/questions/14545872/bean-named-xxx-must-be-of-typexxx-but-was-actually-of-ty ...

  6. javascript变量初始化位置

    变量在之前<script type="text/javascript"></script>(或引用的js文件)中初始化,可以正常访问. 运行程序:弹出123 ...

  7. Android SDK下载速度慢的解决方法(简单使用代理)

    相信做android开发的同学们.一定会遇到的问题就是google那边常常崩,可是学习的開始.我们又必须要用Android SDK,(几个G的大小),一般我们装完ADT之后(假设你用的是Eclipse ...

  8. pycharm5.0 激活方式

    Pycharm5注册方式   0x1 ,安装 0x2 , 调整时间到2038年. 0x3 ,申请30天试用 0x4, 退出pycharm 0x5, 时间调整回来. ##注册方法2### 注册方法:   ...

  9. 关于Win8 用不了USB转串口驱动

    win8系统必需要关闭设备驱动自己主动更新,否则联网更新的驱动是用不了的.操作过程例如以下: 打开控制面板,搜索"设备".更改设备安装设置 watermark/2/text/aHR ...

  10. .Net 平台WebService的创建、部署和使用介绍

    .NET平台内建了对Web Service的支持,包括Web Service的构建和使用.与其它开发平台不同,使用.NET平台,你不需要其他的工具或者SDK就可以完成Web Service的开发了.. ...