Q面试时长1h,但是难度比之前的都大,问得也是比较深的,不愧是大厂。
1.先进行一下自我介绍。
2.c++11、c++14、c++17以及c++20有什么区别呢?
3.说一下智能指针的作用,shared_ptr和unique_ptr的实现原理。
4.举一个循环引用的场景,并谈一下怎么解决循环引用的问题。
5.多个线程使用shared_ptr指向堆中的同一个对象时,是安全的吗?
6.shared_ptr对应的计数器是什么类型的?(原子类型)
7.c++auto有什么用,它是如何实现自动类型推导的呢?
8.c++中的string相比于c中的char* 有什么优势。
9.当两个字符串长度相同时,c++中的string和c中char*谁占用的内存更大了?
10.全局静态变量和局部静态变量的区别。
11.当多个文件同时引用头文件中的全局静态变量时会引发什么问题。
12.讲一讲静态成员函数。
13.在成员函数中如果为了不改变成员变量的值,我们应该做什么。
14.c和c++在编译时,函数名会怎么变化,那如果是匿名空间呢?
15.stl中vector和list的区别,要回答全面。
16.栈和队列是否支持迭代器。
17.如何用两个栈去模拟一个队列。
18.当执行可执行文件时,这个过程发生了什么,进程又是如何被创建的?
19.知道pc寄存器吗?
20.arm和x86又有什么区别呢?
算法题:剑指 Offer 26. 树的子结构
反问:请问面试官主要做什么工作。
回答:做数据分析的相关引擎,不仅写c++,还有js、python等,涉及的面很广。
感受:面试官说:"我的c++基础掌握不错,在他们团队应该能排在中位以上了(属于官方认证了),但是在操作系统、编译原理方面还是比较薄弱,从上面的回答就可以看的出来",面试官真的很温柔,你不会他会换一个问题,整个面试过程给人的感受就是很舒服。
感受可以给个A了。
面试回来总结了一些资料、亲爱的小伙伴们
如果本文对你有帮助,别忘记给我个3连问 ,点赞,转发,评论,,咱们下期见。
收藏 等于白嫖,点赞才是真情。