字节跳动面试,两面+HR面,面试官很棒!

简单记一下,后面补全
2021年3月13日11:13:03

首先看看两次面试的题目,个人感觉比较看重平时的积累,比如Full GC和对线程池的理解等,
知其然,还得知其所以然啊

字节一面

  1. 介绍一下自己
  2. 上来就问反射,Java反射了解吗,说一下原理
  3. HTTP与HTTPS,
  4. Java GC了解吗,说一下
  5. Full GC是什么,原因是什么,如何避免Full GC
  6. 跨域怎么解决,CORS怎么解决跨域
  7. Get与Post 有什么区别
  8. 手写了个二分(Springboot,直接服务器能访问那种,后面说要使用Post请求)

面试官真的很不错,最后的算法题我本来想用get偷懒,被看见了,提示我用post

字节二面

用的是赛马网的平台,但是并没有算法题233
从项目出发,然后问技术细节,我直呼nb

  1. 介绍一下自己
  2. 你最近的项目介绍一下,说说你做了什么
  3. 因为我做的是限流嘛,面试官问我,你用线程池限流,效果不好怎么办,我想一秒钟只能5个,怎么办?
  4. 限流不平滑,最后一秒发了20个怎么办
  5. 问了Java的设计模式,问了线程池,还问我如何实现一个线程池(用api和自己尝试构造,这里还很细节,传递任务啊,回收线程啊等等等等)
  6. 问了HTTPS,谈到了对称加密和非对称加密,为什么最后用的是对称加密
  7. 问了MySQL的索引,索引有什么类型,Hash索引和B+树索引有什么区别
  8. 主键索引和二级索引的区别,有没有不回表的办法
  9. 问了双重校验为什么用volatile,volatile有什么用
  10. 还问了用什么保证临界区安全?
  11. 问了HashMap,HashMap是啥,与HashTable有什么关系,HashMap数据结构是啥?
  12. 问了阻塞队列,juc包
  13. 代码题目是,三个线程,轮流不停输出123,(这里一开始没听清,最后才知道是要按顺序输出,第一个线程第一个,第二个线程第二个。。。。。。)
  14. 刚刚写的代码存在严重的线程争夺(有很多无效的抢夺),如何优化?

很多知识点本身就能写篇文章了,233,先简单记一点点,后面慢慢把这些文章补齐
二面问的东西尤其深,被大佬单方面知识输出233
字节跳动面试,两面+HR面,面试官很棒!_第1张图片

可能的结果?(还没码完,慢慢更新,知识点很多

一面部分

Java反射
反射:Java的类都有一个对象,可以通过Java的Api直接操作这个对象,JVM会临时生成字节码来使用
HTTP与HTTPS
Full GC
(这里我多扯了一些细节,他问Full GC的原因,这里没见过,直接说了不会)
CORS跨域解决
名字我忘了,但是说了怎么操作
CORS,预请求(这个复习真没看到,是平常项目碰到的)
Get与Post
字节跳动面试,两面+HR面,面试官很棒!_第2张图片

二面部分

你最近的项目介绍一下,说说你做了什么
我最近因为QQ邮箱白嫖失败,做了多级可配置的限流队列,用来防止发信频率过高,同时可以动态修改配置,有良好的扩容性,可以定制报警。

因为我做的是限流嘛,面试官问我,你用线程池限流,效果不好怎么办,我想一秒钟只能5个,怎么办?
我说用信号量嘛,定期刷新,

然后又问我不平滑,最后一秒发了20个怎么办
我说可以分10份嘛,阶段限流

问了Java的设计模式,问了线程池,还问我如何实现一个线程池(用api和自己尝试构造,这里还很细节,传递任务啊,回收线程啊等等等等)

问了HTTPS,谈到了对称加密和非对称加密,为什么最后用的是对称加密

问了MySQL的索引,主键索引和二级索引的区别

问了双重校验为什么用volatile,volatile有什么用

还问了用什么保证临界区安全,
锁,CAS,

问了HashMap,HashMap是啥,与HashTable有什么关系,HashMap数据结构是啥
HashTable是老一辈的数据结构了,不支持null,所有操作都有加锁,没有reHash等等(后面详谈)
数据结构就是链表数据红黑树

问了阻塞队列,juc包

代码题目是,三个线程,轮流不停输出123,(这里一开始没听清,最后才知道是要按顺序输出,第一个线程第一个,第二个线程第二个。。。。。。)

我写了个脑残的,然后问我怎么优化,我提出了一种阻塞队列

持续更新哈,欢迎关注
现在正在等oc,oc快来啊

字节跳动面试,两面+HR面,面试官很棒!_第3张图片

你可能感兴趣的:(春招冲关-Java后端,java)