面试是通过校招进行的,投了简历过后,hr在微信群里发笔试链接,25道选择题,3道程序题(算法题,相当于力扣),任选一道,如果笔试通过后(hr会微信告知,并告知一面和商量电话面试时间),电话一面,hr了解个人专业,个人学习成绩排名,简历上的实习经历,最主要是文关于c语言的基础知识问题。
面试官问的面试题: 1,什么是指针?什么指针代表内容?什么指针代表地址?
2,什么是野指针?
3,什么是进程?什么是线程?
4,什么是死锁?如何解决死锁?
5,怎样实现线程同步?
6,什么是堆?什么是栈?
先是做笔试,笔试通过了hr通知一面,一面结束后,然后hr告知二面。
一面比较基础,都是问的一些C++基础知识。
还有操作系统的知识
静态变量和局部变量的区别
线程和进程的区别
线程同步的方法
进程间通信的方法
管道是如何通信的
是电话面试,首先问了C++与C语言的一些基础知识问题,如虚函数,向量与引用的区别,堆和栈的区别等,然后问了我做过的项目,接下来就是对项目的拷打,一定要说得详细一些。
面试官问的面试题: 首先问了C语言与C++的一些基础问题,如虚函数怎么定义,什么函数不能定义为虚函数,向量与引用的区别,堆与栈的区别,最后是对简历上项目的拷打。
一面电话面试,主要是让你介绍一下自己做过的项目,然后问一些基础的八股,最后会问一些影像的基础知识
面试官问的面试题: 1.本科期间学过哪些语言
2.请介绍一下自己的项目
3.进程和线程的区别?
4.请说一下什么是锁。
5.曝光三要素有哪些?
最开始有HR给我的打电话和我约一面的时间,然后等到那天,会有总部那边的人给我打电话,然后就是问五六个面试的问题,问题基本就是常见的一些基础知识,相对比较简单,基本上背背那八股文就能过
面试官问的面试题: 当时问了我这几个问题:
线程同步的机制
面向对象的三大特征
指针常量和常量指针
链表和数组
define和const的区别
回答:
1. 线程同步的机制
线程同步机制确保多个线程在访问共享资源时避免冲突,常用的方法有:互斥锁(如 mutex),信号量(如 semaphore),条件变量(如 condition_variable)和读写锁。这些机制通过控制线程访问顺序或等待条件,保证数据一致性和线程安全。
2. 面向对象的三大特征
面向对象的三大特征是:
封装:将数据和操作封装在对象内,隐藏内部实现。
继承:允许新类从已有类继承,复用代码。
多态:通过接口统一不同类型对象的操作,支持动态绑定。
3. 指针常量和常量指针
指针常量(int* const ptr):指针自身是常量,指向的地址不可变,但指向的内容可变。
常量指针(const int* ptr):指针指向的内容是常量,内容不可变,但指针地址可以改变。
4. 链表和数组
链表:动态分配内存,适合频繁插入删除操作,但访问速度慢(需要遍历)。
数组:固定大小,适合快速随机访问,但插入删除操作效率低。
5. #define 和 const 的区别
#define:预处理器宏定义,文本替换,没有类型检查。
const:编译时常量,有类型检查,更安全。
首先,面试官会让你做个简单的自我介绍,然后问你想应聘岗位是什么。然后开始问一些技术问题。还有项目经历和团队协作方面的,最后问你对公司有什么看法。
面试官问的面试题: 关于c++的智能指针你了解多少,有没有使用它来解决问题。关于线程你是怎么理解的,怎么创建和使用线程。对于内存泄漏你的了解是什么,怎么解决。关于java和c++,他们的共同点和区别有哪些。使用过的开放框架有哪些,对数据库的了解怎么样,哪一个使用的比较多。