杂记——记录一次参加华为OD研发岗位的面试过程

关于od,自己去论坛上面看吧,褒贬不一,自个儿衡量。

一、在线机试

1)在“牛客网”上完成三道题目,多是字符串和排列相关的题目,总分在150分以上即可通关(当然越高越好了)。
2)三道题目,按照简单(100分)、简单(100分)、中等(200分)的顺序排列,总体而言难度较小,but 容易遗漏某些特殊情况,从而影响用例通过率,比如空值判断。分值按照通过用例百分比计算,比如第三题总计20个测试用例,通过10个,得分200*(10/20) = 100分。
3)日常练习时不需要完成录入部分的编写、测试用例可以选择是否可见,but 机试时需要完成录入部分的编写,比如Scanner(Java)、测试用例不可见。
4)练习题目地址:https://www.nowcoder.com/ta/job-code-high

邮件如图所示:
在这里插入图片描述

二、性格测试

官方称作“综合测评”,其实就是“性格测试”。联系的先生强调说:“不要小觑这一关,有很多人在这上面失利”。提示几点:1)某些题目会重复出现,前后不要矛盾;2)主观选择就好,不要过多的考虑,但得积极向上;3)华为宣扬:狼性和战时氛围。

邮件如图所示:
在这里插入图片描述

三、技术一面

印象有些模糊,大概记得面试官挑选了简历上面令他感兴趣的点来询问 + 一些常规面试内容(感兴趣就向下挖) + 手撕代码(关于字符串)。

邮件如图所示:
在这里插入图片描述

四、技术二面

深挖,一个点展开就向下深挖,直到投降为止。

0)挑选一个项目展开
1)技术栈展开
2)学习和工作这些年来,在哪些领域有研究,挑来谈谈
3)重载与重写的区别,JVM如何实现
4)集合类,HashMap(如何解决hash冲突)
5)归并排序、DFS、BFS和贪心算法的思想
6)volatile和synchronized的区别、实现原理
7)lomada表达式
8)枚举是不是类,谈谈你对它的认知
9)设计模式
……
35Min,手撕代码《设计和实现售货机》,题目如下(题目本身难度偏下,但个人水平觉得时间仓促):

请设计一款自动售货机的进出货管理系统 VendingMachineSystem(),需实现以下功能:
 *  *VendingMachineSystem(int trayNum, int trayCapacity):设置该自动售货机上共有 trayNum 个商品轨道,每个商品轨道上最多可放置 trayCapacity 个商品。
 *  * o	每个轨道上只能放置同一品牌的商品;同一品牌的商品只能放置在一个轨道上;
 *  * o	对于已售空的轨道可以加入某一品牌的商品,即不一定是原品牌。
 *  *addProduct(int brandId, int[] productIdList):向系统中添加商品,品牌为 brandId ,商品编号为 productIdList ,从所在轨道的末端商品之后按数组 productIdList 下标升序依次放入。
 *  * o	售货机内已有该品牌的商品:若所在轨道剩余空间充足,则放入商品并返回 true ;否则不做任何操作并返回 false*  * o	售货机内没有该品牌商品:若售货机内有空轨道,且该轨道空间充足,则放入商品并返回 true ;否则不做任何操作并返回 false*  *buyProduct(int brandId, int num):购买品牌为 brandId 的 num 个商品。
 *  * o	若有足够的商品,则取该轨道上前 num 个商品并返回其商品编号列表;
 *  * o	若没有该品牌商品,或该商品数量不足 num 个,则不做任何操作并返回空数组 []*  *queryProduct():按照品牌编号【升序】返回每个品牌的【首个】商品编号(忽略空轨道);若售货机为空,返回空数组 []*  *
 *  * 示例 1*  * VendingMachineSystem obj = new VendingMachineSystem(2, 5); // 设置自动售货机共有 2 个轨道,每个轨道上只能放 5 个商品
 *  * System.out.println(obj.addProduct(3, new int[]{3, 5, 4, 6, 2})); // 在售货机放置品牌编号为 3 的商品,按照下标升序依次放入,商品编号依次为 3、5、4、6、2,返回 true
 *  * System.out.println(obj.buyProduct(3, 3)); // 购买 3 个品牌编号为 3 的商品,被购买的商品编号依次为 3、5、4,返回所购商品编号列表 [3,5,4]
 *  * System.out.println(obj.queryProduct()); // 当前只有1个品牌商品,其首个商品编号为6,返回 [6]
 *  *
 *  * 示例 2*  * VendingMachineSystem obj = new VendingMachineSystem(2, 5);
 *  * System.out.println(obj.addProduct(3, new int[]{3, 5, 4, 6, 2, 1})); //  false
 *  * System.out.println(obj.addProduct(3, new int[]{3, 5, 4, 6, 2}));//  true
 *  * System.out.println(obj.addProduct(1, new int[]{9}));//  true
 *  * System.out.println(obj.addProduct(2, new int[]{7}));//  false
 *  * System.out.println(obj.buyProduct(3, 3));//  3,5,4
 *  * System.out.println(obj.buyProduct(9, 3));//  空
 *  * System.out.println(obj.buyProduct(3, 3));//  空
 *  * System.out.println(obj.queryProduct());//  9,6
 *  * System.out.println(obj.addProduct(3, new int[]{10, 20, 13, 14}));//  false
 *  * System.out.println(obj.addProduct(3, new int[]{10, 20, 13}));;//  true
 *  * System.out.println(obj.buyProduct(3, 5));//  6,2,10,20,13
 *  * System.out.println(obj.addProduct(9, new int[]{5, 4}));//  true
 *  *
 *  * 提示:
 *  * 1 <= addProduct, buyProduct, queryProduct 总操作数 <= 1000
 *  * 1 <= trayNum <= 100
 *  * 1 <= trayCapacity <= 100
 *  * 1 <= brandId <= 200
 *  * 1 <= productIdList.length <= 100
 *  * 1 <= productIdList[i] <= 10^5
 *  * 1 <= num <= 100

邮件如图所示:
在这里插入图片描述

五、技术三面

一二面等级不一,会开启第三面
1)手撕代码:《中位数》,题目如下:

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,你可以假设 nums1 和 nums2 不会同时为空。
 *
 * 示例 1:
 * nums1 = [1, 3]
 * nums2 = [2]
 * 则中位数是 2.0
 *
 * 示例 2:
 * nums1 = [1, 2]
 * nums2 = [3, 4]
 * 则中位数是 (2 + 3)/2 = 2.5

2)自我介绍
3)项目展开
4)忘记了~

邮件如图所示:
在这里插入图片描述

六、资格面试

“资格面试”,也称作“HR面试”,会对个人、家庭有个简短的了解。小姐姐爱笑,氛围感觉挺轻松。

邮件如图所示:
在这里插入图片描述

七、综合面试

官方称作“综合面试”,其实就是最终关卡的“部门主管面试”,主管面相和蔼。

1)自我介绍
2)为什么想要离开
3)职业规划
4)目前为止遇见令你印象深刻的事情,如何解决的
5)项目展开:流程、作用和你自己所扮演的角色等
6)目前收入、期望money、为什么
7)你有什么想问我的吗?

邮件如图所示:
在这里插入图片描述


某些内容,回忆起来在补充,hh


若有疑问,相互交流~

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
华为OD技术面困难题是一个相对较为复杂的问题,需要面试者对于OD技术的理解和应用能力有一定的要求。一般来说,这类问题可能包括以下几个方面的内容: 首先是OD技术的基础知识。OD即Object Detection,是指通过计算机视觉技术在图像或视频中自动检测并定位目标物体的过程面试者需要对OD技术的整体框架、核心算法、流程以及应用场景等有一定的了解和掌握。 其次是对常见OD算法的理解和实现能力。OD技术包含了很多经典的算法,如基于特征的方法(如Haar特征、HOG特征等)、基于深度学习的方法(如Faster R-CNN、YOLO、SSD等)等。面试者需要能够对这些算法的原理、优缺点以及实现过程进行深入剖析,并能够根据具体问题选择合适的算法进行应用。 此外,面试者还需要具备对OD技术相关工具和库的了解和熟练应用能力。常见的工具和库包括OpenCV、TensorFlow、PyTorch等,面试者需要能够使用这些工具和库进行目标检测的具体实现,并能够解决在实践中遇到的问题。 最后,面试者还需要具备数据处理和模型评估的能力。OD技术需要处理大量的数据,并通过训练和测试来获取准确的模型。面试者需要了解相关的数据处理方法,如数据增强、标注方法等,并能够对模型的准确性进行评估和优化。 总之,华为OD技术面困难题需要面试者对OD技术有扎实的基础知识、常见算法的了解和实现能力,熟悉相关工具和库的应用,以及数据处理和模型评估的能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年_H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值