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 最近,我在微博上看到@程序员邹欣老师发的一条微博 - ...
随机推荐
- OracleCPU使用情况查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...
- GDI+ ColorMatrix的完全揭秘
无论是用何种语言,只要使用过Windows的GDI+的人对ColorMatrix都不陌生,我的BLOG文章中也多次提到过,并在<GDI+ for VCL基础 -- 颜色调整矩阵ColorMatr ...
- [ACM] hdu 1217 Arbitrage (bellman_ford最短路,推断是否有正权回路或Floyed)
Arbitrage Problem Description Arbitrage is the use of discrepancies in currency exchange rates to tr ...
- HDU 4514并查集判环+最长路
点击打开链接 题意:中文题...... 思路:先推断是否能成环,之前以为是有向图,就用了spfa推断,果断过不了自己出的例子,发现是无向图.并查集把,两个点有公共的父节点,那就是成环了,之后便是求最长 ...
- C#基础关键字
1:override & new public class A { public virtual void Test() { Console.WriteLine("A Test()& ...
- Android数据自己主动更新库DataAutoRefresh
非常多android应用.比方音乐播放器.视频播放器.小说阅读器或者其他须要获取本地磁盘指定数据格式数据列表的应用,在磁盘数据有变化(新增或者删除.比方下载完毕,拔TF卡.换TF卡)时.须要自己主动更 ...
- 详谈kubernetes滚动更新-1
系列目录 这个系列分为两个小节,第一个小节介绍deployment滚动更新时,deployment.replicaset.pod的细节以及创建过程以及deployment版本管理的方式 第二个小节将介 ...
- 官方Caffe-windows 配置与示例运行
http://blog.csdn.net/guoyk1990/article/details/52909864 标签: caffewindows配置训练自己的数据 2016-10-24 13:34 1 ...
- IOS AFNETWORKING POST
IOS AFNETWORKING POST 请求 #pragma mark post 请求 // 获取 url 路劲,不带参数 NSString *requestUrl = [[url compone ...
- 第 1 章 第 2 题 空间敏感排序问题 位向量实现( bitset位向量 )
问题分析 在上篇文章中,给出了使用C语言中经典位运算符来实现位向量的方法.而本文,将介绍使用C++中的bitset容器来实现位向量的方法. 实现 // 请包含bitset头文件 #include &l ...