最近公司要招聘有经验的VC++程序员,让我来技术面。
我设计了一套题来问面试者。
有关于VC编译的、有C++基础的、有STL、有DLL、有多线程、有Win32/MFC的、还有OOP以及实际操作的。
感觉涉及的面还是比较全的,有基础,有进阶,甚至有的有些高深。
如果这些题能够回复得个七七八八,我认为有三到四年的工作经验的平均水平。
如果不仅回答得很好,还能讲出背后的原理,我认为五年以上的工作经验的平均水平。
如果OOP也回答得非常好,那么就是非常优秀的程序员。
我找公司员工看了下,有人说偏难,真的是这样吗?
不知道大家如何看待呢?
下面贴上我的面试题。
- extern "C"的作用?
- #pragma once方式和#ifndef方式的区别?
- 增量链接什么意思?
- 预编译头文件什么意思?起什么作用?
- 前置声明(forward declaration)的作用,什么情况下用?
- 深拷贝、浅拷贝的介绍。
- 多态的实现原理?多态释放内存时需要注意什么?
- const 的几种用法,特别是针对指针变量时有什么需要注意的?
- static成员变量、const成员变量、static const成员变量三者如何初始化?
- 简述快速排序的实现机理?
- 什么时候适合使用const 加引用(&)?
- sort(vInt.begin(), vInt.end(), less<int> ()); less<int> ()是什么意思,存放结构体的vector排序如何做?
- 链接库的有哪些?
- DLL导出的一个方法中的参数能不能是vector类型?为什么?
- 扩展DLL展出一个对话框类,调用的时候需要重点注意什么?
- 多线程中,有一个线程有一个比较大的for循环,这个时候在for循环中添加Sleep(0),有什么作用?
- API CreateThread和_beginthreadex创建线程有什么区别?
- 线程的同步互斥.
- 工作者线程和用户界面线程有什么区别?
- 一个WIN32窗口程序创建的过程.
- 对CRuntimeClass的理解.
- Windows消息机制.
- 下列宏有什么了解吗?
BEGIN_MESSAGE_MAP(CMPToolsDlg, CDialog)
//{{AFX_MSG_MAP(CMPToolsDlg)
ON_WM_SYSCOMMAND()
ON_MESSAGE(WM_DEVICECHANGE, OnDeviceChange)
END_MESSAGE_MAP()
- OOP的一些指导原则?对OOP的理解.
- 如何调试多线程中指定线程?
- 两个进程间如何用消息传递字符串?
- 如果内存泄露,如何查找问题?如果有内存溢出导致的程序崩溃,如何查找?
标签:MAP,面试题,const,什么,C++,线程,OOP,多线程 From: https://blog.51cto.com/u_15834343/5887039