挤破脑袋要进阿里、腾讯的 java 程序员,去 B 站不香吗?
前言
大厂工资高吗?
高
去大厂的要求多吗?
多
进大厂真的很难吗?
额~
说不难呢!你说我在装
说难呢!很多人都会说不难
我身边就有很多说不难的朋友,就比如有一位前阵子进了 B 站的朋友,在我们面前一顿吹嘘:
什么没必要进 BAT 啊!
什么 B 站这么大一个平台,它不香吗?
什么我就算是做后浪也要做 B 站的后浪!
......
我也不客气,顺手找他要来了进 B 站的面试流程:
小天:大佬,你怎么这么强啊!
程序员 D:那是,我是谁啊?中国未来的求伯君!
小天:噗~
程序员 D:你笑什么?
小天:我没有笑啊!
程序员 D:我明明看见你笑了!
小天:是这样的大佬,我是受过专业训练的,大佬不让我笑,我是不会笑的!
程序员 D:那还不错
小天:大佬,B 站的面试经历写点东西给我呗!小弟我去头条发点东西!
程序员 D:可以啊,但是我不怎么记得了,尽量多回忆点吧!
小天:感谢大佬!
于是就有了接下来的内容!
B 站面经
公司:bilibili
地点:上海
工作经验:0 年
岗位:主要负责【数据分流】
面试次数:3 次
面试内容:
Bilibili 一面
1.问项目情况
Bilibili 二面
1.JVM:gc 很关键,基本上只要问到 jvm,必问 gc。
答题过程:
说明垃圾处理器,说明垃圾处理器使用到的算法并说明什么时候对象被 gc(计数器法(缺点)和可达性分析),叙述对象的分派过程,何时进入老年代,空间担保机制。双亲委派模型偶尔会问到,类加载过程一定要熟记于心。
叙述类加载过程,叙述双亲委派模型原理,并说到如果不使用双亲委派模型 java 连最基础的稳定都保证不了。
2.Jvm 的内部结构?
答题过程:叙述出每个块的名字以及作用。
3.多线程:线程池会问到构造方法的参数,好处以及坏处。
内置锁和显示锁的使用场景 。
Cas 原理和缺点解决的方法,以及原子类的说明。
Aqs,叙述数据结构,设计模式,模板方法和可重写方法,内部类状态的变化以及节点的成员变量,说到这一定要说明 condition 和 aqs 的配合使用。
ConcurrentHashmap1.7-1.8 基本都会问到的,数据结构,get,put,扩容以及初始化,size,什么时候会扩容,解决 hash 冲突的办法以及 1.8 红黑树到链表的互相转换。(有的公司会问到 arraylist 和 linkedlist 如果两个线程去执行写操作会发生什么,我只说明了会引发线程安全的问题,这个时候就可以说说 hashmap 两个线程去扩容之后去 get 一个不存在的数据时会产生环形链表缓解一下尴尬。)
双重检测引发的问题(临界区重排序带来的)。
多线程远不止这些。
4.mysql 的存储引擎 myisam 和 innodb 必问。
索引分别使用到的数据结构以及分类。
Sql 语句的优化十条一定要记住,并说明原因。
事务的性质 ACID 以及隔离的级别并分别说明,引发的脏读不可重复读幻读分别在哪个隔离级别上会发生。
5.算法:快速匹配字符串(暴力匹配和 KMP 算法)。
其实还有其他的算法,我最后问问题的时候问了面试官,怎么找到两个链表的公共节点?怎么找到链表的环。
6.设计模式会问到单例模式,代理模式,工厂模式。
你看过哪些源码,有用到什么设计模式?
7.网络:osi 七层模型
Tcp 三次握手,四次挥手状态的变化(状态没记住呜呜)
Tcp 为什么是可靠传输协议(确认机制和超时重发)
Bilibili 三面
与 HR 阿姨嘘寒问暖
分享一些整理的系统面试真题~
这些面试题,分类详细,针对性强,是你查缺补漏的绝佳之选,小天看你骨骼精奇,这些就免费给你了!
资料已整理成文档,免费获取,需要的小伙伴可以+ VX: mxk6072
评论