华为OD-24届无经验-C++面经
个人情况:24届985本科,工科专业,科班,无工作经验(考公)
去年毕业前就和可乐姐联系从而了解华为od。今年2月底参加机考,从机考到正式收到offer大概有一个月,在此期间十分感谢可乐姐在机考应试以至面试经验分享的热心解答和鼓励~ 如果大家像我一样的情况可以找一下可乐姐了解一下OD哦
一、机试:
T1:一个图像有n个像素点,存储在一个长度为n的数组img里,每个像素点的取值范围[0,255]的正整数。
请你给图像每个像素点值加上一个整数k(可以是负数),得到新图newImg,使得新图newImg的所有像素平均值最接近中位值128。请输出这个k。
例1:
输入:0 0 0 0
输出:128
例2:
输入:129 130 129 130
输出:-2
T2:统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,一共30天。
实现代码帮助统计出打卡次数top5的员工。加入打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。
注:不考虑并列的情况,按规则返回前5名员工的id即可,如果当月打卡的员工少于5个,按规则排序返回所有有打卡记录的员工id。
输入描述
第一行输入为新员工数量N,表示新员工编号id为0到N-1,N的范围为[1,100]
第二行输入为30个整数,表示每天打卡的员工数量,每天至少有1名员工打卡。
之后30行为每天打卡的员工id集合,id不会重复。
输出描述
按顺序输出打卡top5员工的id,用空格隔开。
例子太长就不写了
T3:向一个空栈压入正整数,每当压入一个整数时,执行以下规则(设:栈顶到栈底整数依次编号为n1,n2,...,nx,其中n1为最新压入的整数)
1.如果n1=n2,则n1、n2全部出栈,压入新数据m(m=2*n1)
2.如果n1=n2+…+ny(y的范围为[3,x]),则n1,n2,…,ny全部出栈,压入新数据m(m=2*n1)
3.如果上述规则都不满足,则不做操作。
例:
输入:10 20 50 80 1 1
输出:2 160
二、HR面试/资面
1.自我介绍
2.对该部门的了解
3.实习经历
4.毕设怎么设计、实现
5.学习代码的方法
6.Gap期间做了什么
7.怎么排解压力
8.家里情况
9.对未来工作的展望
10.为何选择这个行业
11.职业规划
12.期望薪资
13.反问环节
三、技术面
【1】技术一面
面试语言:C++
自我介绍
C++的底层实现
编程:
给定一个字符串s,找出其中不含有重复字符的最长子串的长度
1,面向对象编程和面向过程编程
2.C与C++的区别
3,C++11的新特性
4,new和malloc的区别
5,栈和堆内存管理
6,内存对齐是什么
7,深拷贝和浅拷贝
8,什么是内存泄露
9.多态、虚函数相关
10.析构函数的调用顺序
11.数据结构中最熟悉什么结构
12.集合和映射的区别
13.哈希表特性、结构、工作流程
14.有用过Linux吗
15.STL库的日常使用,选一个数据结构介绍底层实现
16.vector的空间是否连续,vector和list的底层差异
17.vector扩容怎么做
【2】技术二面
面试语言:C++
自我介绍
C++的底层实现
编程:
给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
因为之前没有工作经验,就没怎么问八股了
四、综面/主管面
1.自我介绍
2.大学所学课程
3.问计算机网络和数据结构的八股
4.实习经历
5.之前怎么用开发软件,遇到困难怎么办
6.Gap期做了什么
7.能否接受转java开发
8.反问环节
总结:
1.Hr面主要是针对个人履历提问。Gap期的细节要说明清楚。在面试过程中要多表现自己的良好的沟通能力和获得该工作的意愿以及稳定性。
2.技术面时,如果没有工作经历会问更多基础的八股,如底层实现、STL、计算机网络等。现场编程最好能在半小时内完成,题目多出自力扣。题目有可能是聊天框直接给出,在本地IDE编写即可;也有可能是在力扣直接编写代码。平时多注意练习。
3.综面也有可能会问基础的八股,也需要好好准备
---------------------------------------------分割线---------------------------------------------
可乐姐留言: 目前还有很多部门在招聘: Java, C/C++, python, JS软件开发工程师/ 软件测试工程师, 算法工程师等等, 大家都可以来找我咨询哈
如果目前你还没找到合适的工作, 但是又苦恼于 无经验 /考公 /考研gap1-2年, 担心找不到工作的小伙伴们,可以试试华为OD社招研发岗位呀, 首先拿到一个保底offer也很重要~[看完欢迎私信我投递/咨询哦!!! ]
岗位需求:
涵盖通用软件开发: Java, C/C++, python,JS,Go软件开发; 软件测试, 数据开发, 网络安全, 算法工程师等, [薪资13-30K, 根据技术面试职级定薪]
作者:Nuyoah可乐
链接:https://www.nowcoder.com/discuss/740217210571853824?sourceSSR=users
来源:牛客网
#python##Java##C++##华为od面经##华为od#