简单记一下,后面补全 2021年3月13日11:13:03
首先看看两次面试的题目,个人感觉比较看重平时的积累,比如Full GC和对线程池的理解等, 知其然,还得知其所以然啊
字节一面
- 介绍一下自己
- 上来就问反射,Java反射了解吗,说一下原理
- HTTP与HTTPS,
- Java GC了解吗,说一下
- Full GC是什么,原因是什么,如何避免Full GC
- 跨域怎么解决,CORS怎么解决跨域
- Get与Post 有什么区别
- 手写了个二分(Springboot,直接服务器能访问那种,后面说要使用Post请求)
面试官真的很不错,最后的算法题我本来想用get偷懒,被看见了,提示我用post
字节二面
用的是赛马网的平台,但是并没有算法题233 从项目出发,然后问技术细节,我直呼nb
- 介绍一下自己
- 你最近的项目介绍一下,说说你做了什么
- 因为我做的是限流嘛,面试官问我,你用线程池限流,效果不好怎么办,我想一秒钟只能5个,怎么办?
- 限流不平滑,最后一秒发了20个怎么办,
- 问了Java的设计模式,问了线程池,还问我如何实现一个线程池(用api和自己尝试构造,这里还很细节,传递任务啊,回收线程啊等等等等)
- 问了HTTPS,谈到了对称加密和非对称加密,为什么最后用的是对称加密
- 问了MySQL的索引,索引有什么类型,Hash索引和B+树索引有什么区别
- 主键索引和二级索引的区别,有没有不回表的办法
- 问了双重校验为什么用volatile,volatile有什么用
- 还问了用什么保证临界区安全?
- 问了HashMap,HashMap是啥,与HashTable有什么关系,HashMap数据结构是啥?
- 问了阻塞队列,juc包
- 代码题目是,三个线程,轮流不停输出123,(这里一开始没听清,最后才知道是要按顺序输出,第一个线程第一个,第二个线程第二个。。。。。。)
- 刚刚写的代码存在严重的线程争夺(有很多无效的抢夺),如何优化?
很多知识点本身就能写篇文章了,233,先简单记一点点,后面慢慢把这些文章补齐 二面问的东西尤其深,被大佬单方面知识输出233
可能的结果?(还没码完,慢慢更新,知识点很多
一面部分
Java反射 反射:Java的类都有一个对象,可以通过Java的Api直接操作这个对象,JVM会临时生成字节码来使用
HTTP与HTTPS
Full GC
(这里我多扯了一些细节,他问Full GC的原因,这里没见过,直接说了不会)
CORS跨域解决
名字我忘了,但是说了怎么操作
CORS,预请求(这个复习真没看到,是平常项目碰到的)
Get与Post
二面部分
你最近的项目介绍一下,说说你做了什么 我最近因为QQ邮箱白嫖失败,做了多级可配置的限流队列,用来防止发信频率过高,同时可以动态修改配置,有良好的扩容性,可以定制报警。
因为我做的是限流嘛,面试官问我,你用线程池限流,效果不好怎么办,我想一秒钟只能5个,怎么办? 我说用信号量嘛,定期刷新,
然后又问我不平滑,最后一秒发了20个怎么办, 我说可以分10份嘛,阶段限流
问了Java的设计模式,问了线程池,还问我如何实现一个线程池(用api和自己尝试构造,这里还很细节,传递任务啊,回收线程啊等等等等)
问了HTTPS,谈到了对称加密和非对称加密,为什么最后用的是对称加密
问了MySQL的索引,主键索引和二级索引的区别
问了双重校验为什么用volatile,volatile有什么用
还问了用什么保证临界区安全, 锁,CAS,
问了HashMap,HashMap是啥,与HashTable有什么关系,HashMap数据结构是啥 HashTable是老一辈的数据结构了,不支持null,所有操作都有加锁,没有reHash等等(后面详谈) 数据结构就是链表数据红黑树
问了阻塞队列,juc包
代码题目是,三个线程,轮流不停输出123,(这里一开始没听清,最后才知道是要按顺序输出,第一个线程第一个,第二个线程第二个。。。。。。)
我写了个脑残的,然后问我怎么优化,我提出了一种阻塞队列
持续更新哈,欢迎关注 现在正在等oc,oc快来啊