华为 OD 社招C++面经
技术一面:
1. 上来就手撕代码,半个小时时间,题目【最小交换次数来组合所有的 1】
开始问问题:
- 项目情况问了有 10 几 20 分钟
- C++,引用和指针有什么区别
- 数组和指针有什么区别
- sizeof 一个指针长度是多少
- 深浅拷贝讲一下
- 有没有写过 C++的项目? 尴尬,没太写过呀
- 有没有看过一下 C++相关的书
- 然后就没啥问题了,好尴尬,好几个没答上来或者答得不是特别好
因为开始的时候就直接安排了两个面试的时间,所以说是两轮都面完再决定挂还是过
技术二面:
- 项目深挖
- 因为以前写的是别的语言,这边要用 C++,所以会挑战我的 C++基础这样子
- C++基类和派生类构造和析构的顺序
- 类的一般成员函数和静态成员函数的区别,两种调用方式造成的结果是什么
- 函数对象有了解吗?lambda 表达式,lambda 表达式内部捕获变量了解不
- C++成员变量和静态成员变量有什么差异吗?
- 函数调用栈有了解吗?没了解过怎么官方表达,乱讲的
- 函数参数压栈怎么压的?乱讲的,我讲的函数参数从右往左赋值
- 对线程了解吗?或者自己开发过程中有没有写过线程吗?开始聊类似的协程
- 网络了解吗?TCP 三次握手了解吗?
- 有处理过网络问题吗?说的流量激增
- 设计模式了解吗?说了下单例和抽象工厂,举例就是 MYSQL 的连接对象,卖票的场景
- gcc 了解吗?这个尴尬了,挺长时间没动了,大概就是 makefile,只提了一嘴交叉编译
- 【详细介绍一下做的比较好的项目】聊了很久,开发过程中有遇到过服务器挂掉的场景吗,怎么处理的?多线程里面如果多个线程对同一个公共数据进行操作了怎么办?只说了锁。
- 写题:【输出一个数字中二进制位连续出现的 1 或者 0 最多的次数】
攒人品,许愿主管面
#华为面试#