涂鸦智能10.26一面-10.27二面
一面(腾讯会议)--全程48分钟
1.自我介绍
2.简单介绍一下项目?
3.什么是面向接口编程?和传统的面向过程编程有什么区别吗?
4.什么是多态?为什么要多态?多态的作用是什么?(作用不会)
5.SpringAOP的思想是什么?你项目里用过SpringAOP吗?怎么用的?(打个日志...说说Before/After/Around/AfterReturning/AfterThrowing)
6.反射是什么?反射有什么场景?(new对象和创建JDK动态代理)你项目里如何使用反射的?(???项目里哪还能用到反射,都是用到Spring封装的了)
7.MySQL的ACID是什么意思?一致性是什么意思?一致性举个例子?原子性是什么意思?原子性举个例子?(问蒙了,不会举例)
8.MySQL如何优化慢SQL?你项目里如何优化SQL?具体说说你是怎么优化的。(我???我怎么优化)MySQL是怎么解决不可能重复读的?MVCC。就没了?详细说一说?
9.线程池的拒绝策略有哪些?
10.jvm的分代回收说一说?永久代的垃圾回收说一下?永久代里存放的元信息包括什么?(忘了,面试官说我只会背啊!伤心,这部分还能怎么看)
11.一个类.class放在哪?一个方法在JVM中是如何执行的?
12.SpringBoot中一个starter是怎么启动起来的?我答了spring-boot-starter的原理,面试官说你这答的也不对啊。。。然后面试官说容器启动那些呢?我说那是Spring容器的启动,和starter启动有什么关系?然后让我说Spring容器的启动流程。这里源码各种细节直接扯上去。(中途被打断,好了好了我知道了,你确实看过一些源码)
13.Redis为什么比MySQL快?(1.纯内存操作,2.Reactor模式)如何理解NIO和多路复用?你用过NIO多路复用吗?我给说了JavaNIO的经典使用流程,Selector,ServerSocketChannel、SelectionKey等组件的基本使用?也就是说你没在项目里使用过NIO?(我????我还能在项目中用到NIO???我说现在用的都是Netty封装的NIO)
14.MySQL建表有什么要求?三大范式。。。。
15.线上遇到OOM了,你如何排查?1.dump文件,2.jprofiler。3.althas等。那你说一下如何根据dump文件去进行排查?(不会)你项目中遇到过OOM吗?(???没有)
16.你用过git吗?说一下用到的常见的命令吧?(push/clone/add)
17.你用过maven吗?说一下maven的常见命令吧?(maven用的IDEA,没用命令)
18.你在学习生活中遇到的印象最深的问题?如何解决?debug源码,给XXX打断点。
19.你是如何学习java的?看书还是?全程尚硅谷,跟着走,然后自己了解一下相关重要的一部分的源码。
20.反问技术栈,说公司是做IOT的,技术栈都是主流的Dubbo、ZK等。
感觉KPI面了,全程被吊打,我是fw。。。
更新-10.27早上11点约了二面(???这还能有二面???)
二面-10.27下午4点-全程48分钟
1.自我介绍?你有挂过科吗?你对专业课了解的怎么样?那么来个数据结构的,怎么判断链表是否成环?怎么判断链表的入环节点?怎么判断链表的环节点的长度?
2.简单描述一下快排?快排的时间复杂度?最坏时间复杂度,为什么?分析一下什么情况下会出现最坏的时间复杂度?
3.递归对比for循环?(我答了递归其实比较快,讲了之前写的算法的经验)递归会出现什么问题?有可能递归终止条件没考虑到,有可能爆栈(讲了之前写算法遇到的爆栈的情况)。
4.散列表解决hash冲突的两种方式?HashMap中使用的哪种?HashMap如何进行扩容?树化成为红黑树之后怎么扩容?HashMap如果get时key为null怎么处理?红黑树的结构是什么样的?有什么特点?HashMap为什么要使用红黑树?不使用AVL树?
5.MySQL中的索引数据结构?
6.有一个表(姓名,课程,成绩),查询各门课程的平均成绩?SQL怎么写?(最开始说的是很简单的select,没注意要分课程去进行分组,后面面试官提醒,加了个groupby)having子句有什么作用?它是限制什么?
7.TCP的三次握手四次挥手,为什么是三次握手,不是两次?那为什么不是4次?
8.MySQL中的最左匹配(a,b,c)索引,a=1,b=2,c>3会使用索引吗?为什么?(会,会不会全部字段使用我不知道,我不会,我问了面试官,面试官说了这是MySQL的优化器的问题)
9.Spring中两种注入Bean的方式有什么区别?Resource/Autowired,我还补充了Inject。
10.Spring和SpringBoot的区别?场景启动器和嵌入式Tomcat。
11.K个数,找出数量>K/2的数,限制内存。(优化不会)
12.两个文件中有很多行url,找出两个文件中重复的url?(优化不会)
13.场景题:高并发,使用微服务下如何统计一个直播的历史观看人数?(不会)
14.智力题:有两个5L和6L的瓶子,怎么样才能凑齐3L的水?(不会,知道经典题,但我懒啊,没做过,我自己脑子不行,得草稿计算一下)
15.你和UI、前端同事吵起来了怎么办?(不知道,我就说我会谦让吧,先冷静下来再说)
16.说一说Http和Https的区别?说一说CA证书的作用是什么?(不太会,之前看过,忘了)
17.Redis和MySQL的双写一致性?(不知道)Canal是什么,怎么用?(不会)分布式锁怎么使用?(redisson和curator)对于读写请求可以怎么使用?Redis和ZK,都实现了对应的读写锁。那Redis的读写锁怎么实现的?(好像是一个key下放了很多个数据,具体忘了)
18.反问?问部门,说是在什么云部门,其它的不知道具体得之后再细分。
一问五不知,去世,面试官说5天内出结果。
更新:10.30收到感谢信,结束。