华为 C/C++ 社招OD 面试 记录

机试

三道题, 100-100-200;
主要考C卷,网上有对应题库。(PS 听说4月换D卷了)。相对于leetcode会简单点。需要处理输入输出,建议刷几道牛客。目标院校150,非目标300。
感觉挺看运气,我的200分只是滑动窗口,听说有人100分题目就是深搜了(分糖果)。

业务面/部门面

问技术栈,主要考察你跟部门之间是否匹配,离职原因等。
这里我面了三家部门的业务面,这里感谢HR愿意帮我找不同部门,还帮我说了一些避雷的点。
个人感觉一个好的HR挺重要的,在群里有些HR不愿意帮你找只能自己找人求捞
(结尾安利小哥哥一波)。

技术一面

先自我介绍,对着技术栈 问了八股文
1.全局变量跟main函数哪个先初始化。
2.内存分布(全局变量区,堆,栈,代码区),指针跟引用的区别, 空类的大小(带函数,带对象), 内存对齐问题(#program pack 4 ),对long类型跟指针类型在不同平台大小不同。
const修饰函数的作用。
2.考察STL容器的理解(vector,list, deque,
map,multimap,set, multiset, unorderedmap, unorderedset),谈下底层实现,还有时间复杂度,还有迭代器的设计(分离数据结构跟算法)。迭代器种类(输入,输出,前向,双向,随机存取)
3.智能指针的分类使用( unique_ptr, share_ptr, weak_ptr),锁的分类使用(unique_lock, lock_guard)
4.多态的理解(指针、引用)运行时晚绑定。通过虚函数指针的虚表实现
5.虚函数能否时构造。不能,虚函数指针未构造
6构造跟析构能否抛异常,不能,可能内存泄漏

手撕: 一道字符串不断去重问题

aaabbccbcd 按3个相同字符串不断去重,得到d。
优化方式:栈
结果:这一面手撕出来了,但是八股好像不太理想,当时大部分精力在刷leetcode,对c的一些细节聊的不是很好,导致后面加面。

技术二面

主要深入项目,对项目的要点进行讨论,可能会要你提供性能的参数。主要考察是不是真的参与项目,这一面确实很细致。

手撕: 一道贪心算法

给出两个int数组,按赢面最大的排列得出A选手的排列。(田忌赛马)
A{0,2,3,4}, B{1,2,3,4}
得出A{2,3,4,0}

技术三面

因为一面八股没答好,进入到三面了
也是偏向项目,对项目进行讨论,也谈了锁,并发,线程的一些讨论,都是结合项目进行问答。

手撕,质因子

得到质因子排列
24=2 * 2 * 2 * 3

综合面:

离职原因, 家庭地址,未来方向等等。

面试结果: 已通过,
等offer发放,卡了30%, 上家薪资不太高,导致薪资在级别内算中等吧。本来还想争取多一k,失败了,不过也还可以接受吧。

HR vx: _wan_98
一个小哥哥

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值