前言

在看面试题之前先看看几组对话吧: 其实我收集了很多很多的内容,但是篇幅的原因,我就不一一罗列了,我也经常看到群里朋友说看完我一些文章之后拿到不错offer,说真的我还有很多技术栈还没写,能拿offer主要还是靠大家,不过大家在我文章有所收获我是很开心的。

特别是很多读者都是10k以内到 14k -18k什么的,在我大厂同学眼里可能没什么因为大家应届进去就是很高的base了,但是我知道对很多朋友来说,太重要了,这样的一次机会不亚于一次重生。

因为我所有的业余时间基本上都是写文章,写稿子,拍视频,剪视频,所以大家给我私聊,我不一定都会回,但是我基本上都会去看一下,很多时候难免有所感慨,有很多读者像写信一样的表达他的经历,表达他的感情。

有感动,有感慨,说真的写东西本身就是我的一个兴趣爱好,我也没想到能写到今天这样了,偶尔和身边的朋友聊起都觉得很神奇,更没想到的就是还真的能帮助到很多朋友,说真的我其实没想过能帮到这么多人,甚至现在这么多人认识我,知道我。

读者经常说拿着我的简历模板去面试,结果被面试官问,这不是敖丙的简历模板嘛?我觉得真的是哭笑不得,不过表现欲极强的我还是很开心。

还有小伙伴在地铁上看到别人看我的文章,看我的视频,我也觉得诶好像有那么点意思哈,丙也算是出圈了。 最近时间也多了起来,我会慢慢恢复技术文的更新的(毕竟大家年中跳槽的都在准备了嘛哈哈),暖不暖吧?

下面呢就是一位读者分享他几次面试的面试题总结,答案在我之前写过的文章中基本上都能找到,一二面都是偏基础的大家看看基本上就是这些东西,我都提到过,三四面就很偏项目了,所以大家还是要好好准备项目哟。

大厂面试题

域起网络 ----- 一家游戏公司30分钟 电话面试

1、讲一下GC的过程 2、什么样的对象会被老年代回收 3、为什么要设置S0,S1区 4、什么样的对象可以作为GC roots 5、多线程的异步调用怎么实现的 6、讲讲你最常用的单例模式 (我答的双重检测) 7、双重检测的INSTACNE为什么要用voliate修饰 8、voliate怎么保证可见性的 9、Sychonized的作用是什么 10、Sychonized 和 lock的区别 11、排序算法以及时间复杂度 12、讲讲代理模式 13、网络编程有了解吗,讲讲TCP/UDP的区别 14、为什么UDP速率比TCP快

跟谁学(文思海辉)-- 视频面试 44分钟

1、JVM调优的工具和命令,jstat 查看状态都有哪些 2、线程的状态 3、wite 不需要时间吗 sleep 和 wite 锁的区别 4、线程池了解过吗,7种参数 5、线程池的阻塞队列用的最多的是什么 6、ArrayBlockingQuene 和 LinkdeBlockingQuene的区别是什么 7、ArrayList 和 LinkedList的区别是什么 8、ArrayList为什么查询比较快,查询是怎么查的 9、List的线程安全实现有哪些 10、CopyOnWriteList 的写锁是怎么加的锁 11、项目中遇到挑战在哪里 12、Oracle和 Mysql的隔离级别为什么不同 13、怎么查看Mysql的sql执行情况 14、Explain sql 中参数 15、Redis中的zset和Three set有什么区别 16、Three set是怎么实现排序的 17、还知道哪些可以排序的树 我说的B+ 树 18、B+树的运用场景,我说的Mysql中的索引 19、是所有索引都用的B+ 树吗,哪些用了 20、一道算法题 写一个数字反序的方法 我写的没有考虑溢出的情况

快手 -- 视频面试30分钟

1、谈一下项目 2、谈一下对IOC和AOP的理解 3、Memchached 和 Redis 的区别 4、Redis的持久化实现 5、Redis的淘汰策略 6、定期删除和惰性删除的区别、优缺点 7、IOC的原理是什么 8、Hashmap的底层实现和原理 9、手写一个,实现map的put方法

学堂在线 -- 视频面试20分钟

1、说下spring事务,@Transition 这个注解在哪些情况下不会生效 2、Synchronized 基本原理 3、Synchronized和ReentrantLock 都是可重入锁,他们俩是怎么实现可重入的 4、线程池的工作原理和7个参数 5、Volatile的用处 6、JVM在什么情况下会发生YoungGC和FullGC 7、Redis的淘汰机制 8、类加载机制说一下 9、快速排序的基本实现 10、Mysql优化是怎么优化的,索引失效的情况都有哪些 11、实现一个抢红包的算法,怎么实现 12、让你实现一个LRU算法,怎么实现

销售易 -- 视频面试 30分钟

1、项目说了很多 2、Spring是怎么管理Bean的 3、你们公司用AOP都做了什么 4、AOP的实现原理是什么 5、为什么JDK动态代理要实现接口,CGLIB不用实现 6、CGLIB动态代理的实现方式 7、如果让你实现AOP,你会怎么实现 8、Redis的基本数据类型 9、Redis的hash是怎么实现的 10、Redis的事务是怎么实现的 11、Redis的淘汰机制 12、LRU是怎么实现的 13、HashMap的实现原理 14、HashMap中哪里用到了数组 15、HashMap的扩容机制 16、你能想到别的方法进行数组的扩容吗 17、为什么链表要转换成红黑树 18、链表是怎么转换成红黑树的 19、SpringBoot自动装配的原理 20、AutoConfigurationImportSelector这个类是怎么实现的 21、SpringApplication对象是怎么创建的 22、Spring循环依赖怎么解决的

搜狐一面 -- 视频面试 50分钟

1、JVM垃圾回收机制 2、怎么判断当前对象能否被回收 3、对象首次创建的话创建在哪个区(新生代还是老年代,新生代哪个区) 4、解释一下stop the world 5、Stop the world 过程中,如果有新的垃圾产生怎么办 6、我说我们项目用的是JDK1.6,面试官就问,1.8和1.6都有哪些区别 7、有了解过1.8的stream流吗 8、HashMap1.8和1.8之前的区别,以及底层实现 9、HashMap为什么不是线程安全的 10、HashMap还会造成什么问题(1.8之前头插法会导致死循环) 11、实现HashMap线程安全的有哪些(我答了三种) 12、CurrentHashMap的底层原理,以及1.8和之前的区别 13、详细讲讲CAS的工作原理 14、CAS的ABA问题怎么解决的 15、你常用的线程池有哪些 16、线程池的7个参数 17、SingleThreadExecutor和CachedThreadPool为什么不推荐使用,会出现哪些问题 18、写一个冒泡排序 19、写一个算法,快乐数(LeetCode原题),我一开始用递归写,会出现死循环的状态,面试官超好提醒我,然后花了很长时间修改算法,通过 20、Mybatis有了解它的插件吗 21、MybatisTemplate 有了解吗 22、Redis的五个参数 23、Redis的事务,我Muliti事务开始,然后写了五个key,其中有一个失败了,Redis怎么处理的,会回滚吗 24、Redis事务和Mybatis事务有什么区别 25、Redis主从复制了解吗 26、Redis主服务器是怎么给从服务器写入数据的 27、看你还了解Docker,(简单说了一下玩过一点点)

美团(美团地图)一面 -- 视频面试 50分钟

1、聊了十多分钟做的项目 2、你们公司自研的Spring和市面上流行的Spring有什么不一样 3、Redis主要用来干嘛的 4、Redis的持久化方式 5、Redis的事务有了解吗(我说了使用的基本命令和mybatis、mysql的区别) 6、你对你们经常使用的集合底层有了解吗 7、HashMap的底层原理,1.8以及之前的,线程安全实现方式 8、Sychonized和ReentrantLock 的区别 9、Volatile的作用是什么 10、对JVM垃圾回收器有了解吗 11、CMS垃圾回收器说一下工作原理 12、堆和栈的区别 13、JVM的调优 14、try{}catch{}finally{}中,如果finally{}中的返回值+1,返回的是多少,会改变返回结果吗 15、线程池有了解吗,它的工作原理 16、固定长度的线程池有什么缺点 17、Mysql和Oracle你用的最大的区别是什么(我说了两者的事务隔离级别,以及mysql中的Explain和oracle当中的Explain plan for的区别) 18、Mysql的聚簇索引和非聚簇索引有了解吗 19、看你做过Sql优化,讲讲你做了哪些优化 20、Mysql回表知道是什么吗 21、SpringMVC的工作流程是什么 22、一道简单的算法题,反转链表,我说这题我前段时间专门leetcode上练过,我算法不好,这段时间主要是复习基础了,面试官夸我基础很扎实,应该二面稳了,面试体检极佳

美团(美团地图)二面 -- 视频面试 40分钟

1、是个小姐姐程序员,聊了聊项目 2、问了下我们公司现在项目用到的技术栈 3、和一面一样问了下我们公司自研的Spring有哪些不一样 4、同样讲了讲oracle和mysql的区别 5、讲讲不可重复读是什么 6、Jdk1.8有了解过CompletableFuture吗(我没有了解过,流下来没技术的眼泪) 7、那你知道Future吗(好像是Callable的时候返回值会用到它,又流下了没技术的眼泪) 8、写一个算法题吧,牛客网的 密码合格校验,写了十多分钟,全是靠if else解决的 小姐姐也说,这个写的没问题,但是需要更多的考虑更好的办法,比如借助java自带的工具类等等。 9、说一些和技术无关的,你对你自己的技术发展有什么想法(我就说,平时会多看看技术公众号,看B站学习技术,会关注很多新技术然后跟着学习,想去更大的平台通过实际场景的应用丰富自己的阅历)

美团(美团打车)一面 -- 视频面试 40分钟

1、String,StringBuild,StringBuff的区别 2、StringBuff为什么是线程安全的 3、ArrayList和LinkedList的区别是什么 4、以上二位是线程安全的吗,怎么实现线程安全 5、Vector实现线程安全的原理是什么 6、多线程编程中你知道哪些都是保证线程安全的 7、Volatile的底层实现是什么 8、线程池了解吗,说说工作原理 9、内存溢出说一下 10、栈溢出说一下 11、要实现一个OOM和栈溢出,怎么实现 12、说一下你常用的垃圾回收器 13、Stop the world 解释一下 14、CMS的工作流程是什么 15、Spring中bean的作用域 16、Spring中bean的生命周期说一下 17、说一下你在项目中遇到的印象深刻的问题是什么,有什么收货 18、Redis的持久化怎么实现的 19、写一道编程题,leetcode 第一道经典题目--两数之和 20、对美团打车有什么想了解的吗(问了下美团打车和滴滴高德打车的区别)

字节跳动 视频面试 -- 30分钟

1、简单介绍了一下项目 2、HashMap介绍一下 3、为什么要用红黑树的结构 4、红黑树一般都会用在哪些场景中 5、Oracle的索引了解吗 6、Mysql的索引底层实现是什么 7、B+树的实现原理了解吗 8、Mysql事务特性了解吗,具体说一说 9、Mysql的事务隔离级别了解吗 10、Mysql的事务隔离级别是怎么实现的 11、算法题:[(5,7),(1,6),(15,50),(60,90),(35,37)] 合并二元数组 输出[(1,7),(15,50),(60,90)] 12、算法题:分层打印二叉树 13、算法题:反转链表起网络

总结

答案在我过往文章都有,大家需要自行查阅哟,需要清晰一点的整理,去我的GitHub就可以了,上面基本上是我所有文章和资料的合集了。 过往文章和资料:https://github.com/AobingJava/JavaFamily
或者公众号回复【资料】即可
希望大家都能找到心仪的工作,都有跟开头读者一样跟我分享喜悦的一天,如果你觉得坚持不下去的时候,想想你进去之后能拿到的薪资待遇,我想你会坚持住的,还是那句话,不是一番梅彻骨,怎得梅花扑鼻香。 我是敖丙,你知道的越多,你不知道的越多,我们下期见!

抽奖

我好久没开过赞赏了对吧,今天玩个有意思的,赞赏之后会自动回复一个抽奖码,抽我自己闲置的kindle white 3吧,以后我闲置的东西都抽了吧哈哈,赞赏一块就够了,别点多了。