前言 对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。
华为一面 全程1小时左右
问题:
1.自我介绍
2.项目相关问题(遇到什么问题怎么解决、期间导师如何帮你?)
3.java和c语言的区别,讲讲你的感受?
4.java创建对象时需要注意哪些方面?
5 java的数据结构(链表、hash、二叉树等等)、常用排序算法讲一下
6.快排过程,排序方式怎么选择?
7.树的遍历方式(先序、中序、后序),如何用数组模拟二叉树的遍历过程?
8.两个栈实现一个队列、两个队列可以实现一个栈吗?
9.线程和进程的区别
10.进程间的通信
11.开启多线程的方法
12.如果一个系统需要引入多线程,需要考虑哪些方面?
13.复盘笔试题
14.手撕算法题:leetcode 445. 两数相加 II
15.你的项目代码量大吗?对编程感兴趣吗?
16.对你的技能还有什么要补充的吗?
华为二面 1.上来就手撕代码 ,奇偶链表,leetcode 原题 先说思路,然后打开 ide 共享 屏 幕手撕,思路正确,代码写的有点复杂,面试官说思路对了就行
2.mysql 常用的数据类型
3.char 和 varchar 的区别
4.mysql 建索引的原则,索引是不是越多越好,为什么
5.spring boot 用到了哪些设计模式,从源码层面说说你熟悉的以及实现
6.jvm 调优你用什么工具,具体怎么做的,怎么调优
7.乐观锁,CAS 算法原理。
8.讲一下 GC 堆,对应的垃圾回收算法,垃圾回收器,对 G1 的理解和它的优点。 9.springboot 的优缺点。
10.会不会 go 或者 php,我这里说没有用过,但是感觉应该说一下对它们的理解。
11.时间复杂度,空间复杂度的定义。
12.多线程并发引发的问题和解决方案
13.引入同步机制带来的影响,以及解决方案(这里说了读写锁和 copyonwritelist())
手撕代码:给你一个数组和一个target,从数组中寻找三个数 a,b,c 使得 abs(a+b+c - target) 最小;
解法:排序,便利固定一个数,剩余的两个数用双指针寻找,不是很难。
14.Redis 锁直接设置过期时间和用时间判断是否过期有什么区别
15.Redis 的数据类型
16.AOP 的底层原理
17.SQL 的索引,引擎
18.sql 语句,统计一个网站某一天的访问人数
19.容器的底层原理
20.static 方法是否能被重写
21.接口和抽象类定义字段的区别
22.说一下你理解的 jvm,内存区域。
23.问了我简历上面,和并发编程有关的项目,如何实现的(reade-writer,AQS, 信号量)。
华为三面 1· 对数据库了解的怎么样?
2· 操作系统,对 Linux 了解多少。我说平时不怎么用,面试官说这个一定要会,平时工作 肯定是在 linux 用的比较多。
3· 计网。讲一下三次握手。我简单说了一下三次握手的过程,面试官又追问在握手之前服 务器需要做哪些准备工作。
4· java 的多线程和锁机制。
5· 手撕代码:反转链表三种方法,求二叉树的深度两种方法。要求先说思路,然后写代码, 写完代码再照着代码讲一遍思路。
6· 手撕代码过程中顺便问了堆和栈的特点以及优缺点。
7· 接口设计:用数组设计一个栈。要返回方法执行成功与否,可以用引用的方法来完成。
8.volatile 和 synchronized 的区别, 问的比较细
9.大顶堆小顶堆怎么删除根节点,没答出精髓,估计不是面试官想要的答案 10.CSRF 攻击是什么,怎么预防
11.手写单例模式,并说为什么这样写,会不会有什么问题,涉及到 volatile 原理
12.spring boot 常用的注解有哪些
13.spring boot 的配置文件
14.redis 集群的几种方式详细说一下
15.redis 缓存雪崩,缓存击穿,缓存穿透是什么,怎么解决
【java|毕业两年,从月薪3500到现在的华为java工程师,我是这样提升自己的技术栈的。】16.mysql 索引相关,为什么用 B+树
17.算法:删除倒数第k 节点 2
18.tcp/udp 的区别 视频/语音为什么使用 udp 3
19.4 次挥手时的 timewait 4 tcp 中的流量控制和拥塞控制 5
20.进程和线程,进程的调度, 进程的通信方式8
21.大端和小端系统9
22.队列能否不使用锁进行并发10
23.队列要用多少个堆实现
我的面试经验汇总 下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从面试必问的说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!
有需要的朋友点击这里自取就好了,希望资料对你有帮助!
SpringCloud
文章图片
Redis
文章图片
JVM
文章图片
MySQL
文章图片
Zookeeper
文章图片
Kafka
文章图片
Dubbo
文章图片
spring
文章图片
Rabbitmq
文章图片
springboot
文章图片
最后 由于文章篇幅有限,PDF的内容又很多,全部手敲下来很累…所以需要阅读阅读学习的,大家“一件三连后:“查看下方””即可拿到手之后自己学习吧,博主真的打字打累了。
有需要的朋友点击这里自取就好了,希望资料对你有帮助!
预祝大家前程似锦,工作顺利!
推荐阅读
- 接口测试|接口测试异常场景耗时耗力(一文帮你解决)
- java|基于Java实现的离散数学测试实验
- leetcode刷题|LeetCode 第63场双周赛复盘
- 《Java入门100练》|【第26天】给定 n 个元素的升序数组nums,求实现一个函数在nums中寻找target的下标 | 初识二分查找
- Leetcode|leetcode:第260场周赛复盘
- 《Java入门100练》|【第25天】给定一个长度为 n 的数组,统计每个数出现的次数 | 计数哈希
- 《Java入门100练》|【第24天】给定一个长度为 n 的数组,将元素 X 插入数组指定的位置 | 数组插入操作
- Leetcode复盘|LeetCode 第 298 场周赛
- 《力扣周赛题解》|【周赛复盘】LeetCode第298场单周赛