IT面试经验:C/C++程序员需要掌握哪些知识

发布网友 发布时间:2022-04-24 13:40

我来回答

1个回答

热心网友 时间:2022-04-12 12:26

概括来说,开发中常用到的功能:串口通信、网口通信、数据库访问、数据加解密处理等等。这些方面的知识都要掌握的,细说的话主要有以下几个方面:

一、语言相关 

1、基础(Basic) 

(1)变量与基本类型:语言内置类型、常量、变量的初始化、变量的作用域、变量的      限定符、变量引用、枚举; (2)typedef 和#define; 

(3)数值与指针:数组定义与初始化、*数值、指针操作; 

(4)表达式:算术/逻辑计算、位运算、优先级、类型转换; 

(5)语句:简单语句、声明/定义语句、复合语句、条件/循环控制语句、异常处理语      句; 

(6)函数:函数声明、参数传递、堆栈概念、函数重载; 

(7)标准IO:条件状态、缓冲区、文件流、字符流、本地化; 

(8)类和数据抽象:类的定义与声明、类的构造函数、静态成员、拷贝构造函数、操      作符重载、类型转换; 

(9)面向对象编程:数据(封装)抽象、继承、多态(动态绑定);

2、进阶(Advance) 

(1)模板与泛型编程:模板定义、实例化、类模板成员、重载、特化; (2)智能指针:auto_ptr、shared_ptr、scoped_ptr; 

(3)STL容器:顺序容器(vector、list、deque、queue、priority_queue、string)和关      联容器(map、set、multimap、multiset); (4)STL算法:迭代器、算法; (5)常用复杂数据结构:hash_map、boost.any、boost. array、boost. regex、boost. variant、      boost. multi_array、boost. pointer_container; 

3、高级(Expert) 

(1)高级泛型编程:表达式模板、模板元编程、Concept编程; 

(2)程序架构,内存池,线程池; 

(3)高级抽象:boost.mpl、boost.lambda、boost.fusion、boost.proto; 

(4)范式应用:boost.spirit; 

(5)应用程序库:boost.asio 、boost.graph、blitz++、Loki、CGAL、uBLAS; 

二、系统相关 

1、基础(Basic) 

(1)Windows API之基础服务:文件系统、注册表、内存管理、DLL、多媒体; 

(2)Windows API之内核对象:句柄、信号、线程、进程、互斥、事件、文件映射、      命名管道、邮槽、计时器、完成端口; 

(3)Windows API之图形设备接口:设备上下文、打印、字体、笔/刷、路径、区域、      位图; 

(4)Windows API之图形用户界面:窗口、标题、菜单、状态栏、消息、图标、按钮、 编辑框、组合框、列表框、滚动条、通用对话框; 

(5)环境配置及Shell编程:环境变量、右键菜单、属性、关联; (6)Socket编程; (7)Web相关API; 2、进阶(Advance) 

(1)MFC/ATL:文档视图结构、对话框、通用控件、OleDB、WinInet; (2)COM、自动化、ActiveX:Office开发、IE插件、VBA; (3)高级图形系统:OpenGL、DirectX; (4)二次开发:ObjectArx; 

三、计算相关 

1、计算机图形学 

(1)向量:点积、叉积、求模、单位化、复合运算;(basic) 

(2)矩阵:算术运算、平移/旋转/缩放/错切等变换、求逆、特征值;(basic) (3)四元组合欧拉角:与其他表示转换;(advance) (4)参数曲线/曲面:贝塞尔、(非)均匀有理样条;(advance) (5)三维几何体的构造与描述;(expert) 2、计算几何 

(1)几何查找与判断:点与线、线与线、点与多边形;(basic) (2)多边形:简单多边形、凸多边形、多边形三角剖分;(advance) (3)凸壳及其应用;(advance) (4)Voronoi图/三角剖分及其应用;(advance) (5)多边形的交与并;(expert) (6)平面图;(expert) 3、数值计算 

(1)数值计算的三大任务:求值、解方程(组)、函数*近;(basic) (2)数值计算的误差、适定性、稳定性;(basic) 

(3)解线性方程组直接方法:Gauss消元法、三角分解法;(basic) 

(4)解线性方程组一般迭代方法:基本迭代、Jacobi迭代、G-S迭代、SOR/SSOR迭代;     (advance) 

(5)解线性方程组的变分迭代法:共轭梯度、预处理共轭梯度法;(expert) (6)解非线性方程组迭代方法:Newton迭代法、Newton-Raphson迭代法、同伦算法;     (expert) 

(7)求解矩阵特征值:乘幂法与反乘幂法、Rayleigh商迭代法、QR法、Krylov子空间      法;(expert) 

(8)插值:多项式插值、样条插值;(advance) (9)数值积分:Simpson公式、Gauss积分;(basic) (10)解常微分方程:欧拉法、Runge-Kutta法;(advance) (11)解椭圆方程:有限单元法、有限差分法、边界元法;(expert)

希望可以帮到您,谢谢!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com