华为od面经(java)

笔试

1.输入一个英文文章语句, 翻转指定区间的单词顺序, 例如输入字符串 "The sky is blue" 区间[0,2]则输出 "is sky The blue"
eg:
输入,第一行输入要反转的语句,第二行是起始索引,第三行结束索引:
The sky is blue
0
2
输出:is sky The blue
类似的题:https://leetcode.cn/problems/reverse-words-in-a-string-iii/


2.给定一个长度为n的整型数组,表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌,请计算所有轮结束后其可以获得的最高总分数。选择规则如下: 1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。 2、选手也可不选择本轮牌面直接跳到下一轮,此时将当前总分数还原为3轮前的总分数,若当前轮次小于等于3(即在第1、2、3轮选择跳过轮次),则总分数置为0。 3、选手的初始总分数为0,且必须依次参加每一轮。

eg1:
输入:
1,-5,-6,4,3,6,-2
输出:
11
分析:
总共有7轮牌面。
第一轮选择该轮牌面,总分数为1。
第二轮不选择该轮牌面,总分数还原为0。
第三轮不选择该轮牌面,总分数还原为0。
第四轮选择该轮牌面,总分数为4。
第五轮选择该轮牌面,总分数为7。
第六轮选择该轮牌面,总分数为13。
第七轮如果不选择该轮牌面,则总分数还原到3轮1前分数,即第四轮的总分数4,如果选择该轮牌面,总分数为11,所以选择该轮牌面。
最终的最高总分为11。

eg2:
输入:
5,-9,1,3,6,-5
输出:
6


3.牛客题库TOP101里面的BM40 +BM26 ,只不过不是给前序跟中序,而是给了中序跟后序,求层序遍历的结果


一面:具体问题都忘了,看着简历来的,简历上写什么就问什么,基本问的问题比较浅,比较广。网上很多,略过
算法题是手撕归并排序

二面
1.自我介绍
2.有参与需求分析吗?怎么分析的,怎么设计的?
3.项目遇到的问题,怎么解决?项目中有没有碰到什么性能优化,你怎么排查怎么优化的?能否从代码层面直接排查?
4.项目中用了redis,redis用来做什么了?
剩下项目相关的省略...想不起来了
5.Java八股文
6.list,map,set存取操作的区别
7.spring中用了哪些设计模式
8.设计模式6大原则讲一下
9.hashmap底层实现讲一下,扩容机制也讲一下
10.mysql索引用到了吗?讲一下
11.java多线程常用的api讲一下,是否有用到,讲一下怎么用的wait和notify,sleep和yield
12.jvm垃圾回收算法讲一下
13.你们项目用的是什么操作系统?
14.讲一下linux里面的常用命令,如何查看进程占用的内存?如何进到进程里面查看线程占用的内存?假如我在a窗口打开了一个文件,在b窗口把文件删除了,a窗口的文件能继续读写吗?
15.来一道算法题吧:leetcode-300改版,解题思想一样

主管面

  • 项目中的重难点,怎么解决的?
  • 为什么要来深圳

HR面:谈薪资

#华为OD面试#
全部评论

相关推荐

头像
04-25 17:16
华为_HR
负责华为云大客户产品的设计开发,支持华为云高速发展负责特性级客户需求的分析并进行合理分解,基于微服务架构和实现输出可落地方案持续优化系统架构,提升系统高并发、大流量下的容灾容错能力,保证系统高可用岗位要求:全日制本科或以上学历,计算机相关专业接受无经验和非科班的,有人带教,对it发展方向有兴趣,想从事着方面的深度学习熟悉一种编程语言,不限于Java/c/c++/python等具备扎实的计算机基础知识,包括不限于操作系统,计算机网络,数据结构和算法等熟悉缓存、消息队列等中间件使用原理,能够熟练操作数据库,开发相应功能5、具有大规模高并发WEB应用设计和开发经验优先还没有找到工作的可以尝试一下 提供机考辅导资料 面试一对一辅导直接到offer下发 base全国可以推荐 ,根据你意愿地首推 流程快,现在基本两周下Offer报道 1、base地:北京,东莞,深圳,上海,南京,西安,成都,武汉,长沙等华为研究所2、java、Python、前端,大数据、测试,c++,嵌入式等岗位 3、全额六险一金 ,周末双休,周末安排加班双倍薪资4、普遍14薪,优秀者更高,2-4个月年终奖; 5、不用担心机考和面试,提供整理好的刷题攻略可提供复习方向和复习建议!欢迎关注我私聊 下offer流程快 岗位充足
投递华为等公司10个岗位
点赞 评论 收藏
转发
点赞 22 评论
分享
牛客网
牛客企业服务