在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。
但说实话,想进大厂还真没那么容易。我的一个朋友在入职腾讯之前,大大小小的面试经历了十几次,最后终于在 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常用命令
因为内容比较多,只能展示部分内容,需要获取用于学习的朋友,
标签:60w,Java,真题,Spring,什么,26,线程,内存,面试题 From: https://blog.51cto.com/u_16173760/6856523