在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。
但说实话,想进大厂还真没那么容易。我的一个朋友在入职腾讯之前,大大小小的面试经历了十几次,最后终于在 4 轮技术面+1 轮 HR 面之后成功接到 Offer,40k*16 薪!
第一轮主要考察 Java 基础,比如:
-
hashmap 的实现
-
Java 中的垃圾回收
-
除了代码之外你还学习了什么技术,框架
-
死锁是怎么产生的
-
线程和进程的区别
二、三轮注重对应技术的掌握:
-
MySQL 的索引,B+树性质
-
Redis 的持久化方式
-
TCP 四次挥手讲一下过程,最后一次 ack 如果客户端没收到怎么办
-
对于 socket 编程,accept 方法是干什么的,在三次握手中属于第几次
四面则是关于参与过的项目和对业务的理解。
如果这些问题你回答不出来,那么我建议你刷一遍大厂的面试真题。我这里有一份滴滴、快手等大厂面试的必考点、高频点、加薪点,以及最新整理出来的 Java 学习路线图
(Java 面试真题资料包)(有需要的点击此处获取面试资料)
每轮面试大概一个小时左右,面试官从技术和项目两个角度考察得非常详细。后来 HR 反馈给他的信息是:技术扎实,参与过热门项目,与岗位要求匹配度较高。
朋友的例子表明:技术能力+项目经验是大厂面试的重点,只要这两点过关,面试正常发挥,拿到梦寐以求的 Offer 并不难!
其实在面试腾讯 Offer 之前,他碰了不少钉子,因为没有大型项目经验,学历和工作背景也不够好,简历投出去之后经常是“已读不回”。
为了弥补自己这两个方面的短板,他历尽艰辛搞到了一份鹅厂的内部面试题,我研究了一下,发现从源码剖析、框架优化和定制、分布式架构设计、再到海量数据处理、高并发处理、最后到性能优化和调优。
Java 相关
-
基础 &进阶篇
-
字符串 &集合面试题
-
......
Java 并发编程
-
1.多线程有什么用?
-
2.多线程和单线程的区别和联系?
-
3.简述程、程序、进程的基本概念。以及他们之间关系是什么?
-
4.线程的创建方式
-
5.线程有哪些基本状态?
-
6. 如何停止一个正在运行的线程
-
7. start ()方法和 run(方法的区别
-
8.为什么我们调用 start (方法时会执行 run (0 方法,为什么我们不能直接调用 run (方法?
-
9. Runnable 接口和 Callable 接口的区别 10.什么是线程安全?
-
11.线程的状态转换?
-
12.在多线程中,什么是上下文切换(cont ext-swit ching)?
-
13. Java 中堆和栈有什么不同?14. 如何确保线程安全?
-
15.什么是静态条件?你怎样发现和解决竞争?16.用户线程和守护线程有什么区别?
-
17.如何创建守护线程?以及在什么场合来使用它?
-
18.线程安全的级别
-
19.你对线程优先级的理解是什么?
-
20.什么是线程调度器(Thread Schedul er)和时间分片(Time slicing?
-
......
JVM 面试题
-
1.什么是.Java 虚拟机?为什么 Java 被称作是“平台无关的编程语首”?
-
2. Java 内存结构?3. Java 内存分配
-
4. Java 堆的结构是什么样子的?什么是堆中的永久代(Ferm Gen space)?
-
5. Java 中堆和栈有什么区别?
-
6.解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法
-
7. JVM 内存分哪几个区,每个区的作用是什么?
-
8.怎么获取 Java 程序使用的内存?堆使用的百分比?9. JVM 有哪些内存区域〔VM 的内存布局是什么?)10.类加载器
-
11. JVM 加载 class 文件的原理机制?12. Javra 类加载过程
-
13. JVM 中对象的创建过程 14. Java 对象结构
-
15.类的生命周期
-
16.如何判断对象可以被回收?
-
17..如果对象的引用位置为 null,垃圾收集器是否会立即释放对象占用的内存?
-
18. Java 的四种引用,强弱软虚 19.什么情况下会发生栈溢出?
-
......
数据结构与算法
-
1.什么是数据结构?
-
2.为什么我们需要数据结构?3.常见的数据结构
-
4.冒泡排序
-
5.插入排序
-
6.选择排序
-
7.归并排序
-
8.快速排序
-
9.二分查找
-
10.二分查找 II
-
11.除排序数组中的重复项
-
12.删除排序数组中的重复项 II
-
13.移除元素
-
14.移动零
-
15.数组中重复的数字
-
16.旋转数组
-
17.螺旋矩阵
-
18.两数之和
-
19.三数之和
-
20.四教之和
-
21.较小的三数之和
-
22.最接近的三数之和
-
23.合并两个有序数组
-
24.寻找旋转排序数组中的最小值
-
......
网络协议面试题
-
1.什么是网络编程
-
2.网络编程中两个主要的问题
-
3.网络协议是什么
-
4.为什么要对网络协议分层
-
5.计算机网络体系结构
-
6.什么是 TCF{IF 和 UDP
-
7. TCP 与 UDP 区别:
-
8. TCF 和 UDP 的应用场景:
-
9.形容一下 TCF 和 UDP
-
10.运行在 TCP 或 Ur 的应用层协议分析。
-
11.什么是 Http 协议?
-
12. Http 和 Https 的区别?
-
13.什么是 http 的请求体?
-
14. HTTP 的响应报文有哪些?
-
15. HTTPS 工作原理
-
16.三次握手与四次挥手
-
17.为什么 TCF 连接需要三次握手,两次不可以么?
-
18.用现实理解三次握手的具体细节
-
19.建立连接可以两次握手吗?为什么?
-
20.为什么要四次挥手?
-
21. TCP 协议如何来保证传输的可靠性
-
.......
数据库
-
MySQL 面试题
-
52 条 SQL 性能优化策略一千行 sQL 命令
-
Redis 面试题
-
MongoDB 面试题
框架相关面试题
-
Spring 面试题
-
MyBatis 面试题
-
SpringBoot 面试题
-
Spring & SpringBoot 常用注解
微服务
-
1.什么是微服务?
-
2.什么是微服务架构?
-
3.微服务的优缺点是什么?说下你在项目中碰到的坑。
-
4.你所知道微服务的技术栈有哪些?列举一二。
-
5.微服务之间如何独立通讯的?
-
6. Spring Clou 的版本关系
-
7. Spring cloud 的子项目〈主要项目〉
-
8. spring cloud 的核心组件有哪些?
-
9. springcloud 如何实现服务的注册?
-
10.什么是 Eureka
-
11. Eureka 和 zookeeper 都可以提供服务注册与发现的功能,请说说两个的区别?
-
12.你所知道的微服务技术栈?
-
13.使用 Spring Cloud 有什么优势?
-
14. SpringBoot 和 SpringCloud 之间关系?
-
15. SpringCloud 和 Dubbo 有哪些区别?
-
16.什么是 Spring Cloud Confi g?
-
17.什么是 Ribbon?
-
18. 什么是 feigin?它的优点是什么?
-
19. Ribbon 和 Fei gn 的区别?
-
20.什么是 Spring Cloud Gatewayf?
-
21.什么是 Hystrix?它如何实现容错?
-
22.什么是 Hystrix 断路器?我们需要它吗?
-
23.什么是 Netflix Feign?它的优点是什么?
-
......
中间件相关
-
Dubbo 面试题
-
Nginx 面试题
-
Zookeeper 面试题
-
MQ 面试题
-
KafKa 面试题
-
Elasticsearch 面试题
Linux
- Linux 常用命令
因为内容比较多,只能展示部分内容