24届-Java面经(华od)
背景
24届毕业生,本科部分目标院校,考研失利,不想有空档期,准备掌握技术太少,于是重头学一遍java。机缘巧合之下遇见了栗栗姐,给我很多资料,开始做机试准备。
机考
一共三道题,100分的题目比较简单且不能失分,刷了两遍,二星题刷了一遍,主要了解其解题思路。
第一题是整数对最小和,将两个数组中数字分别一次相加后放入队列,取最小的几个值之和。
第二题是火星文计算,依次替换符合条件的火星文。
第三题是数据单元的变量替换,和第二题思路差不多,但是要判断多种不符合题意的情况。
综测
栗栗姐会给攻略,跟着攻略来,一般只要不乱写就能过。
HR面试
首先是自我介绍,将自己的项目大概功能技术栈描述了一下,问了关于自己在项目中遇到了什么困难以及如何解决困难的、对华为的看法、为什么选择这个地方以及未来的规划。
技术一面
主要问我一些基础知识。算法题是给出一批单词words,请按近形词进行分组(组内单词按照words中出现的先后顺序排列),要求返回结果是优先返回组内成员最多的,且如果有多个成员数量相同的组,则返回首个单词在words中最先出现的那个组。
1. 栈和队列进出方式 应用场景?
2. 数组链表插入复杂度?
3. 面向对象三大特征?
4. 一个类怎样不被继承?
5. 方法重写和重载的区别?
6. spring核心原理?
7. ioc设计模式?
8. 依赖注入的方式?
9. 有没有自己写过注解?
技术二面
首先自我介绍,然后根据我简历上的项目问了一些关于项目的问题,问了一些比较贴合实际安全性的问题。
代码题是给定字符串 s ,判断字符串是否有效。
技术三面
一面二面定级不一致,加面一轮,自我介绍后问了一些八股知识。
1.如今md5加密面临被破解的可能,怎么让密码加密更安全?解密的时候不安全,考虑
2.多线程并发
3.sql优化
4.怎么确定sql使用了索引
5.基本数据类型
6.异常 运行时异常和受检异常区别 父类
7.error和exception是否有父类
8.hashmap怎样保证线程安全
9.hashtable和concurrenthashmap区别(主要线程安全)
10.红黑树优缺点
11.hashmap长度为什么总是2的n次方
12.synchronized修饰静态方法
13.linkedlist是什么链表,是双向链表还是单向链表
14.jvm怎么定位内存溢出?
手撕代码:合并有序链表,二叉树的推理
综面
先自我介绍,然后问项目中遇到的困难、收获,然后问了对华为、对od的了解,为什么选择这个工作地点以及稳定性、期望薪资,对加班的看法等。
准备心得
一星题一定要都会写,二星题主要看思路,实在不行就暴力解法,不要死磕,同时对算法一定要熟悉,面试过程中手撕代码环节是十分重要的,同时要熟悉自己的简历中的技术及项目,考虑到他会延伸问的问题,一般只要手撕代码写出来了,面试就能通过。
总结
非常感谢栗栗姐的帮助,从准备机试一直到offer到手,栗栗姐都是一直跟进并且及时指导的,并且准备的资料很齐全,面试结果也能及时知道,帮助了我非常多。