B站客户端四面面经

更新:4.19加了一轮hr面,4.20已经收到offer。

已经面完一个多月了还在泡池子,阿B你到底在干嘛啊?

一面

MVVM和MVP的区别

DataBinding的实现原理

Kotlin协程和线程的区别,如何实现异步调用

Activity跳转到新Activity的生命周期变化

View的渲染流程,MeasureSpec的组成

View的事件分发机制,事件拦截的两种方法

Handler的原理,MessageQueue的组成,怎么执行消息的排序

Handler内存泄漏的原因,怎么避免

Java的四种引用类型

为什么要使用内部类,使用外部类能不能完成相同的功能

HashMap的原理,为什么重写equals方法要重写hashcode方法

JVM的内存结构,方法的定义存在什么位置

JVM垃圾回收机制,什么对象可以被作为GCRoot

算法:判断二叉搜索树

二面

Http的请求过程?DNS的解析流程?

Tcp的可靠性原理?滑动窗口协议?

Java常用的设计模式?观察者模式和监听模式的区别?

HashMap的底层原理?为什么使用红黑树而不使用平衡二叉树?(平衡二叉树的调整比较消耗性能)

为什么静态内部类的单例模式是线程安全的?

为什么类的加载是线程安全的?(ClassLoader.loadClass方法加了锁)

GC什么时候会发生回收?老年代的晋升是复制还是移动?

什么是公平锁和非公平锁?读写锁的实现原理?

AQS的实现原理?加锁流程?

View的事件分发机制,先调用onTouch方法还是onTouchEvent方法?

android进程通信的方式?Binder的底层原理?

mmap的底层原理有没有了解(不了解)

为什么要用mmap而不用管道或者其他IPC方式(只需要一次复制)

Handler为什么不会死循环?

MVVM的优势和劣势(其实就是观察者模式和监听模式的区别)

sharedPrefernce的底层原理?为什么不能在应用启动的时候获取文件?

描述一下APP的启动流程?

webView的启动优化?RecyclerView的优化(不了解)

算法:复原IP地址(回溯题)

三面(技术+hr)

讲一个你熟悉的框架底层原理?使用Retrofit和使用OKHttp或者直接使用socket有什么区别?

讲一个你目前正在学习的技术?RPC协议和Restful有什么区别?

讲一次失败的经历?从中获取的教训?

对自己未来的规划?

平时如何学习?

对B站的了解?平时看的最多的视频分区?

对内卷的看法?

反问:团队氛围和加班情况?(氛围比较年轻?加班会比主站多)

新人培养机制(会组织新人小伙伴做一个创新项目,会配一个导师带领半年)

四面(加面)

四面没问啥,大多数是聊天。问了一些项目和毕设中涉及到的推荐算法。
#B站校招##春招##面经#
全部评论
俺也泡了半个多月了
点赞 回复
分享
发布于 2022-04-13 14:49

相关推荐

2 11 评论
分享
牛客网
牛客企业服务