前言

 首先来个自我介绍吧,我是一个拥有大厂梦的程序猿,在传统的外包公司干了几年,实在是干不下去了,然后本来就一直想去大厂,趁着辞职,想去大厂闯一下,于是我花了整整3个月的的时间整理出了大厂的面试题,结果皇天不负苦心人,靠着这些面试题,终于拿到了腾讯的offer,成功入职腾讯,然后就来写一篇文章,和大家分享一下我的面试经历,和我整理的大厂的面试题,希望大家都能圆了去大厂的梦!加油,奥利给!

腾讯一面:

1.自我介绍

2.擅长哪方面的技术?

3. Java有哪些锁种类? (乐观锁&悲观锁、可重入锁&Synchronize等)

4.比较重要的数据结构,如链表,队列,栈的基本理解及大致实现

5. J.U.C下的常见类的使用。ThreadPool的深入考察; BlockingQueue的使用

6. Java内存分代模型,GC算法, JVM常见的启动参数; CMS算法的过程。

7. volatile关键字有什么用(包括底层原理)

8.线程池的调优策略

9. spring cloud的服务注册与发现是怎么设计的?

10.分布式系统的全局id如何实现

11.分布式锁的方案,redis和zookeeper哪个个好,如果是集群部署,高并发情况下哪个性能更好。

 

腾讯二面

1.擅长的项目   详细解释了项目的几个模块 项目里遇到的一些问题

2.问了Redis在项目中的使用

3.为什么用rabbitMQ

4.问了spring

5.讲一下java的线程(我还顺便讲了线程池,当时没反应过来,应该往锁那里引的)

5.arraylist和linklist的区别

6.UDP和TCP的区别

7.HTTP的请求方法的几种类型,GET和POST的区别,首部字段key-value都知道哪些

8.问了一些shell命令

9.测试的一些东西(红白黑盒)

10.百度框怎么测试

11.一道意外简单的算法题==(两个栈实现队列)

 

腾讯三面

1、十亿个数的集合和10w个数的集合,如何求它们的交集。

2、十亿和数找到前100个最大的,堆排序,怎么实现,怎么调整。

3、TCP和UDP的区别,具体使用场景呢。

4、TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办。

5、对于socket编程,accept方法是干什么的,在三次握手中属于第几次?

6、Linux操作系统了解么,了解一点点,就没问了。

7、对于单例模式,有什么使用场景了,讲了全局id生成器,他问我分布式id生成器怎么实现,说了zk,问我zk了解原理不,讲了zab。

8、除了单例模式,知道适配器模式怎么实现么,有什么用

9、回到网络,刚才你说到直播场景,知道直播的架构怎么设计么,要点是什么?

10、Redis和MySQL有什么区别,用于什么场景。

总结

现在想想还是有点小激动的,本来抱着试一试的心态,结果真的能去腾讯了,我觉得吧其实大厂面试主要就是围绕着:多线程、spring、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 这些,最后是我花了整整3个月整理出的大厂的面试题跟大家分享一下,一键三连后添加VX:msbjy2019即可获取哦

最后希望大家都能去到大厂,写文章不易,希望大家能够多多支持我,给我点个赞评论一下!