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

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. 作为一个新人,怎样学习嵌入式Linux?

        作为一个新人,怎样学习嵌入式Linux?   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).尝试着写一些C语言竞赛的题目.它们是纯 ...

  2. JavaScript 推断浏览器类型及32位64位

    JS推断出版本号以及浏览器类型 <script type="text/javascript"> var Sys = {}; var ua = navigator.use ...

  3. pycharm pull到github

    1.setting中找到github 正确输入邮箱密码,勾上ssh 2.在本机中git bash 得到ssh代码 输入到github 个人setting中 3.在pycharm中setting项git ...

  4. TCP三次握手与DDOS攻击原理

    TCP三次握手与DDOS攻击原理 作者:冰盾防火墙 网站:www.bingdun.com 日期:2014-12-09   在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. ...

  5. Git使用笔记01

    本文基本的參考文章链接例如以下所看到的: Pro Git(中文版) Git教程 Git使用教程 简单介绍与说明 Git是一个分布式版本号管理系统,是为了更好地管理Linux内核开发而创立的.Git能够 ...

  6. openssl之BIO系列之12---文件描写叙述符(fd)类型BIO

    文件描写叙述符(fd)类型BIO ---依据openssl doc\crypto\bio_s_fd.pod翻译和自己的理解写成 (作者:DragonKing Mailwzhah@263.net 公布于 ...

  7. 网页编程-Djiango(二)

    一.初始Ajax ajax的写法: $.ajax({ url:'/host', type:'POST' data:{'k1':123,'k2':'root'} success:function(dat ...

  8. cubietruck制作刷新lubuntu-kernel

    一:安装交叉编译工具链以及相应的工具(系统最好是ubutnu-64位-server) sudo apt-get install g++ sudo apt-get install libncurses5 ...

  9. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  10. 图像处理之滤波---gabor

    http://blog.csdn.net/xiaowei_cqu/article/details/24745945 小魏北大