逆袭!裸辞 26 天,历经 4 面,60w“跳”进鹅厂(附面试流程和真题)
在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。
但说实话,想进大厂还真没那么容易。我的一个朋友在入职腾讯之前,大大小小的面试经历了十几次,最后终于在 4 轮技术面+1 轮 HR 面之后成功接到 Offer,40k*16 薪!
第一轮主要考察 Java 基础,比如:
hashmap 的实现
Java 中的垃圾回收
除了代码之外你还学习了什么技术,框架
死锁是怎么产生的
线程和进程的区别
二、三轮注重对应技术的掌握:
MySQL 的索引,B+树性质
Redis 的持久化方式
TCP 四次挥手讲一下过程,最后一次 ack 如果客户端没收到怎么办
对于 socket 编程,accept 方法是干什么的,在三次握手中属于第几次
四面则是关于参与过的项目和对业务的理解。
如果这些问题你回答不出来,那么我建议你刷一遍大厂的面试真题。我这里有一份滴滴、快手等大厂面试的必考点、高频点、加薪点,以及最新整理出来的 Java 学习路线图,想要的同学可以看我主页限时获取
(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 常用命令
因为内容比较多,只能展示部分内容,需要获取用于学习的朋友,可以看我主页,100%获取
版权声明: 本文为 InfoQ 作者【Java~~~】的原创文章。
原文链接:【http://xie.infoq.cn/article/3eb02b96fdbdbf8471b4aec4e】。未经作者许可,禁止转载。
评论