C++ 面试八股分享

一年半,估计又要跳槽了,本来还想再积累一两年的,结果公司业务线调整,同部门三四个同事n+1裁了,我也要换工作内容,现在在来这么一出,就准备骑驴找马,投了几家;

面的都是C++岗,具体方向的话包括AI算法工程化部署、芯片SDK开发,中间件开发;

面试的公司,面试风格基本包括以下几种

  • 纯八股文+leetcode流
  • 项目深挖型
  • 纯聊天流()

当然有可能多面多种风格,也有遇到一面纯八股文,二面leetcode,三面纯项目混合的;

项目深挖型也是对于不是混子,平时擅长总结的兄弟们应该是最喜欢的面试风格吧,反正对我来说体验也是最好的,平时做好smart原则,把你做的事情梳理清楚,做的事情多深度思考,这样延伸出来的一些技术问题也不慌;

八股文

遇到的c++八股文,总结了下,因为我项目用的都是c++11,14 17这些以上的我只说了有一定了解,不过c++11再以上的新特性基本没面试官问我。

  • c++多态及实现原理 (必问)
  • 智能指针及实现原理,循环引用怎么解决等 (必问)
  • 构造函数能不能为虚,析构函数能不能为虚,析构函数不为虚发生什么;
  • 构造函数析构函数调用虚函数、纯虚函数,会发生什么
  • 移动语义详解,实现原理,解决了什么;
  • c++ 进程间哪几种线程间同步方式,自旋锁、无锁实现等;
  • vector 扩容方式,为什么这么扩;
  • c++11以上的一些 新特性(我简历实际项目用的c++11),一些语法上的东西,比较杂,返回值优化,override,lambda、bind、emplace_back和push_back、make_shared和new等等;
  • struct 和 class 区别;
  • 数组名、&数组[0]、 &数组名区别,+1后地址区别;
  • 引用和指针区别;
  • 内存堆和栈的区别,还有其他内存区域吗;
  • c++ 的那几个转换关键字,分别使用在什么场景;
  • 右值引用完美转发知道吗
  • 怎么禁止类构造和赋值
  • c++11 单例怎么写,之前呢
  • 智能指针线程安全吗(现在想起来估计之前的问我的那个铁子在面试,后知后觉中)
  • 线程安全是什么
  • c++和c的区别讲讲,extern "c"干嘛的
  • 菱形继承是啥
  • 拷贝构造函数 形参不为引用可以吗
  • 模板元,SFINAE,类型萃取,这一块算难度比较大的C++八股文了,能用明白这一块的C++程序员算比较优秀的了(面试遇到的非常少,唯一一个问到了也问的很浅),基本上你不在简历上写,不会问的频度

因为面的岗都偏嵌入式,还有些操作系统、RTOS、计算机组成原理、设计模式的一些八股文,不过比较少,基本一次面试一小时占比不超过十分钟。

算法题

leetcode,dp、dfs、bfs,二分查找、链表反转、二叉树层级遍历、堆排topk等;

只能说以后有空多刷刷leetcode,面试风气如此。刷题比较重要,虽然工作中用不到;

特别提下一次面试

比较奇特的体验。

投的岗位自动驾驶 C++开发 中级岗。

说比较奇特是因为,唯一一个把主观性问题、性格测评作为公司面试主要参考标准的吧,基本没问技术问题,纯聊天流;

八十分钟在线测试,大部分性格测试题,少量数理逻辑题,比较简单;

一面

  1. 自我介绍
  2. 几家公司的离职原因及其延伸;
  3. 简历项目相关技术问题少量,cpu内存占用如何优化啥的;
  4. 工作中遇到的最困难的一件事;
  5. 项目背景及价值有了解吗;
  6. 对公司有什么期待;

四五十分钟,大致的问题就这些,感觉全是主观题,软件岗第一次有这么奇特的面试体验

你可能感兴趣的:(C\C++,杂谈,c++)