C++软件工程师,你该会什么?
请尊重原创: 转载注明来源 原创在这里哦
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++软件工程师,你该会什么?的更多相关文章
- [No00004D]深度思考好文:软件工程师的困境
昨天是我一同学结婚的好日子,同学们大家聊各自的工作,有个同学突然问了我一句:我们同学中好像做软件的不多?如果再细分,好像做网络相关的更少? 回想起当时为何读计算机信息管理的专业,是因为那时听说读电脑未 ...
- 一个IC软件工程师的2017年终工作总结
相比2016年的波澜起伏,2017多了一份平静和清淡.不过,平静的生活下,总有一颗飞向远方的心. 在这一年将近结束的时候,总结一下自己的工作,生活和学习.也顺便展望一下未来的2018,看看有哪些 美好 ...
- 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业
相关文章:随笔<一个程序猿的生命周期>- 逆潮流而动的“叛逆者” 15年前,依稀记得走出大山,进城求学的场景.尽管一路有父亲的陪伴,但是内心仍然畏惧.当父亲转身离去.准备回到 ...
- 1、软件工程师要阅读的书籍 - IT软件人员书籍系列文章
软件工程师要阅读的书籍估计是项目组内最多的.软件工程师处于项目组中最基础的人员储备阶层,与项目的关系最密切.当然,现在是大数据时代,我们无法全部看完所有相关的书籍,只能够先学习工作需要的知识,然后在项 ...
- Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结
Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driv ...
- CEO应向软件工程师学习的7个技能
软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此.但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学 ...
- Google前工程经理王忻:如何准备软件工程师的面试
http://t.jobdu.com/thread-368-1-1.html 导读:原文作者王忻,Google前工程经理,2003年月加入Google,是Google Lively背后的主导力量,是G ...
- 转载:CEO应向软件工程师学习的7个技能
软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此.但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学 ...
- 软件工程师所需掌握的“终极技术”是什么?
软件工程师所需掌握的"终极技术"是什么? http://yunli.blog.51cto.com/831344/1019990 最近,我在微博上看到@程序员邹欣老师发的一条微博 - ...
随机推荐
- Hibernate中的对象状态,及自动更新原因,Hibernate set对象后不调用update却自动更新
原文:http://www.cnblogs.com/xiaoda/p/3225617.html Hibernate的对象有三种状态,分别为:瞬时状态 (Transient). 持久化状态(Persis ...
- iOS -- xxxViewController进行pop时直接crash进main.m,EXC_BAD_ACCESS(code=1,address=0x20)
今天在调试程序时,遇到了奇怪的错误.我从主页跳进(push)一个ViewController时一切正常,但是返回主页(pop)时却crash了,直接跳进了main.m(EXC_BAD_ACCESS(c ...
- sqlite数据库转换为mysql数据库
SQLite工具我用的SQLiteStudio2.1.5 下载地址 http://sqlitestudio.pl/?act=download SQLiteStudio打开数据库文件,点工具->导 ...
- nopCommerce从无到有01-初探nopCommerce
nopCommerce框架的基本结构: 该结构可以参考DDD(领域驱动设计)模式. (注:上图源自他人文章,具体出处不祥,在此引用,感谢原创) nopcommerce官方地址:http://www.n ...
- php.ini的载入位置
php.ini文件找不到,载入WINDOS下的,但找不到,后来强制-c查找是OK的.思考,为什么载入window下的ini文件.1.可能是有一个默认路径.2.可能没有路径.默认载入. 问题解决:htt ...
- Django小项目练习
Django学生管理系统 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^class_list/', views.class_list ...
- 【每日Scrum】第三天(4.24) TD学生助手Sprint2站立会议
站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 今天主要看了多事件处理的内容然后改了下界面, 和小楠重写架构,使代码更加简洁,并增加了几个界面 架构太难,数据库字段总出问题 Y 刘静 添加事 ...
- 阿里云OSS对象存储 简单上传文件
不得不说阿里云的命名比较让人摸不着头脑,开始以为是文件存储NAS,弄了半天什么文件系统,挂载点的搞不明白.后来才搞清楚原来 对象存储OSS才是我需要的. 其中EndPoint就是画红框的部分,但是要加 ...
- 在Fedora 23上安装多媒体解码器
在Fedora 23上安装多媒体解码器 时间:2016-06-25来源:topspeedsnail.com 作者:斗大的熊猫 安装多媒体解码器允许你播放更多格式的音频和视频格式.大多数这些解码器都 ...
- ThinkPHP5 安装自定义模块
安装官方给的demo,在build.php文件中 <?php // +-------------------------------------------------------------- ...