在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。

但说实话,想进大厂还真没那么容易。我的一个朋友在入职腾讯之前,大大小小的面试经历了十几次,最后终于在 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 常用命令
image
image

因为内容比较多,只能展示部分内容