面试问题准备

C++基础:

  1. 指针和引用的区别
  2. 深拷贝和浅拷贝的区别
  3. 构造函数中是否可以用虚函数
  4. 析构函数中的虚函数的作用
  5. extern C
  6. typedef #define
  7. 函数调用约定,__stdcall,__fastcall区别
  8. 熟悉的STL类型,list和vector区别,适用情况 ,erase
  9. 抽象数据类型
  10. 最近写过的一个类
  11. 了解的C++的相关知识技术点
  12. 定义一个函数指针
  13. 定义一个模板类实现
  14. C++实现虚表

开发:

  1. WindowNT32 系统,字符指针、整形所占内存空间大小
  2. Windows 消息循环
  3. Unicode、ANSI、Utf8
  4. 线程间通信 ,线程同步,异步多线程并发 进程间IPC
  5. 多线程,线程阻塞,线程池
  6. 网络编程TCP/IP,UDP,http,libevent,curl,apache,SOAP
  7. 大并发
  8. 预编译头文件作用
  9. windows 消息循环,窗口和控件消息传递
  10. MFC Postmessage、Sendmessage、OnPain、OnDraw
  11. 调试工具调试方法,WinDbg使用 ,内存泄露如何调试,什么情况会出现内存泄露

数据结构:

  1. heap和stack有什么区别
  2. 链表,删除当前节点,是否存在环
  3. 树,二叉树,类别
  4. 图,无向图最优路径
  5. 排序算法有哪些,快速排序原理
  6. 哈希
  7. 字典树原理

设计模式:

  1. 设计模式
  2. 重构
  3. 跨平台系统联调,交叉编译
  4. 具备面向对象的分析设计能力,熟悉UML/设计模式/OOAD,熟练使用Visio/Rose/PowerDesigner
  5. 设计模式,至少要理解工厂、状态机、观察者
  6. 深入理解面向对象设计原则,知道什么是开闭原则,什么是依赖倒置,知道什么时候用interface,什么时候用abstract;

数据库:

  1. 事务
  2. 优化,提高性能(缓存)
  3. 数据库连接调用方式

你可能感兴趣的:(面试)