为了帮助大家更好的应对面试,我整理了往年华为校招面试的题目,供大家参考~
面经1
技术一面
- 自我介绍
- 说下项目中的难点
- volatile和synchronized的区别, 问的比较细
- 大顶堆小顶堆怎么删除根节点
- CSRF攻击是什么,怎么预防
- 线程通信方式。
- Volitate关键字。
- Java 高效拷贝数组。
- 算法题 跳跃游戏 leetcode 55。
技术二面
- 上来就手撕代码 ,奇偶链表,leetcode原题,先说思路,然后打开ide共享屏幕撕代码
- 手写单例模式,并说为什么这样写,会不会有什么问题,涉及到volatile原理
- mysql常用的数据类型
- Java集合框架的主类是什么,HashSet有没有继承Collection软件工程学过哪些课程
- 软件工程学过哪些课程
- 进程和线程的区别
- 知道哪些排序算法,快排的时间复杂度是多少,是稳定的排序算法吗
- 编程题/算法
题目大概:请输出两个字符串a和b相减的结果(a>b,a和b的字符串长度介于1~50之间)。
例:输入a:"99999",b="99998"
输出:"1"
面经2
华为一面
- 项目、论文。
- String能否被继承。
- Java内存泄露和排查。
- Hash方式和Hash冲突解决。
- 静态代理和动态代理。
- spring boot常用的注解有哪些
- spring boot的配置文件
- redis集群的几种方式详细说一下
- redis缓存雪崩,缓存击穿,缓存穿透是什么,怎么解决
- mysql索引相关,为什么用B+树
- 手撕代码,链表求和,leetcode原题:
https://leetcode-cn.com/problems/sum-lists-lcci/
华为二面
- 是否用过Java、Python做系统的项目
- 平时熟练使用哪种语言
- HashMap、HashSet、HashTable、StringBuffer、StringBuilder哪些是线程安全,哪些是线程不安全
- HashSet数据结构,跟HashMap有什么区别
- char和varchar的区别
- mysql建索引的原则,索引是不是越多越好,为什么
- spring boot用到了哪些设计模式,从源码层面说说你熟悉的以及实现
- jvm调优你用什么工具,具体怎么做的,怎么调优
最后分享一份大彬精心整理的大厂面试手册 ,包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等高频面试题,非常实用,有小伙伴靠着这份手册拿过字节offer~
需要的小伙伴可以自行下载:
链接:https://pan.xunlei.com/s/VNgU60NQQNSDaEy9z955oufbA1?pwd=y9fy#