赞
踩
关于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
若有疑问,相互交流~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。