乐趣区

关于an-d-ro-id:2021年最新腾讯B站等一线互联网Android面试真题合集附答案让你面试轻松无压力

背景

2021 年 7 月,我从工作两年的腾讯到职了。到职前共事帮我弄到了 B 站的内推,通过 3 面后,9 月 4 号我拿着 26K 的 offer 顺利的进入 B 站。

作为一名资深技术宅,国漫和日番始终让我爱不释手。平时有了工夫也不太爱出门,根本都是躺着用 B 站刷番,而这次去 B 站算是了却我之前的宿愿。

面试通过

第一面

8 月 10 日,跟 B 站的 HR 进行了第一次通话,理解完公司的业务、技术、团队规模等状况后、就跟 HR 约了一面,面试工夫是在 11 号下午,11 号,我到了 B 站在杨浦的国正核心 3 号楼,在一楼大厅的机器人旁边等 HR 下来接我。而后 HR 带我到楼上面试会议室,先给了我两份试题,一份技术的,一份相似公务员行策考试的试题。

技术面的试题一共有 10 个,全是简答题。考了 JVM、乐观锁、Android 的四大组件、View 的事件散发,Eventbus,Http2.0、NDK、设计模式、最初用了一个算法题压轴,总体感觉答复的还行,就是源码那个模块答复的不是太好。当前还要多看看源码之类的温习书籍。

第二面

一面过后,HR 让我回去等音讯,终于在 16 号的早晨来了电话约二面,问我 17 号上午有没有工夫,我许可二面工夫后,便在 17 号上午来到 B 站的总部开始了第二轮面试。这次走进去的是一个架构师和一个部门经理,问的问题还是比较简单,然而惟一不同的是比一面的问题做了延长。

下来差不多是 JVM、翻转链表、hashmap、屏幕适配、双亲委托模式、Jetpack、Fragment、Handler、内存优化、动画机制二面延长的问题有一个没有接触过,没有答复进去。一样回去等告诉。

第三面

等了一星期,当我认为要凉了时,后果在 26 号上午 HR 又给我来了电话,说下午的三面。命运总是爱捉弄人,总把一些原理上不可能的事件进行反转。三面的时候那个 HR 来了,跟她一起的还有一个级别较高的面试官(也就是我起初大部门的领导),问了我:音视频开发有过理解吗?我说有过理解,然而不是特地相熟,中途还聊了一些职业规划、集体当前倒退的想法。

和大领导聊完后,HR 最初一面,跟我谈薪资了,想压价了!!!这是要成了吗?我心里嘀咕,感觉面试的个别啊。完结后,让我回去时说是等下周给告诉。

拿到 offer

到了 7.30 上午,,B 站的 HR 说面试通过了,和我说了薪资是 26K,比我预期的少了 3K,然而也还能承受,也就批准了!

B 站面试复盘

B 站面试总体感觉还是挺不错,没有问到十分底层的、然而面试的广度还是有的。感觉面试官很喜爱问 JVM、还有一个音视频,根本三面的问题大部分都是音视频开发无关、当前还有增强音视频的学习呀!

哔哩哔哩—Android 面经

上面是我对三面的面试题做的一个总结。

一面

  • 说说本人的做过我的项目
  • 形容一下 JVM 加载 class 文件的原理机制?
  • 解释内存中的栈 (stack)、堆(heap) 和办法区 (method area) 的用法
  • 乐观锁的应用场景
  • Activity A 启动另一个 Activity B 会回调哪些办法?如果 Activity B 是齐全通明呢?如果启动的是一个 Dialog 呢?
  • 形容一下 view 事件的散发机制
  • 简述一下多路复用的原理
  • 解释一下 JNI 中全局援用和部分援用的区别和应用
  • 单例如何避免反射破绽攻打
  • 简述 EventBus 的根本应用
  • 输出一个正整数数组,将它们连接起来排成一个数,输入能排出的所有数字中最小的一个。例如输出数组{32, 321},则输入这两个能排成的最小数字 32132。

二面

  • 在我的项目过程中,你呈现过什么问题?
  • JVM 的永恒代中会产生垃圾回收么?
  • 给出一个单链表(不带头节点)和一个数 K,请翻转此单链表?
  • HashMap 的扩容形式?负载因子是多少?为什是这么多?
  • 今日头条的轻量级适配计划理解吗 & 给我说说原理
  • 多线程的状况下,类的加载为什么不会呈现反复加载的状况?
  • Jetpack Lifecycle 是用来干啥?
  • 谈谈 Fragment3 种切换的形式以及区别 & 应用场景
  • Handler 导致的内存泄露你是如何解决的?
  • 给我谈谈插值器 & 估值器 的作用
  • 说说 Activity & BroadcastReceiver & Serice 最长可耗时工夫为多少?

三面

  • 你晓得无论是 Kotlin 或者是 Java, 程序运行的次要入口都是 main()办法,那么 Android 的 main 办法在哪里?
  • 谈谈 Android 零碎装置 apk 的过程?
  • 为什么子线程不能更新 UI?
  • 对音视频开发有过理解吗?
  • 常见的数字音频编码文件格式有哪些,并简述其特点
  • 列举一些音频编解码罕用的实现计划
  • 预测编码的基本原理是什么
  • 请叙述 MPEG 视频根本码流构造
  • 请叙述 AMR 根本码流构造

面试倡议

1. 多刷题,刷题是为了晋升本人的运气

运气在面试过程中是十分重要的,刷题的目标很简略,除了坚固咱们所把握的,另一个就是为了能进步在面试中咱们的运气,如果可能问到一样的题是再好不过了,当然这个方法是实用于职级中低岗位。

2. 把握根底,留神深度

大厂面试最喜爱问两类问题,一类是根底,另一类就是深度。根底局部,无非就是咱们所把握的技术根底内容,基本上只有是有筹备的都没有太大的问题。另一部分就是深度问题,大多波及到本人之前的工作、我的项目,面试官所问的问题不仅仅是停留在外表那么简略,背地的原理是什么才是面试官想要问的。

3. 刷面试题

欠缺简历

大家都晓得去面试的过程中,简历对于面试有着至关重要的作用,一份参观清晰的简历能帮忙求职者在面试官心中有着十分不错的印象,仅仅从这一点来看,简历的欠缺就是十分有必要的。

简历该怎么写?

1、尽可能突出本人的劣势
制作简历肯定要学会突出重点,写出本人的劣势,如你在上一家公司做出的奉献,就要写在显眼的地位进行突出,用色彩加深再好不过。
如果你的劣势是学历,那么学历就要放在第一页,因为 HR 在筛选简历时,一份简历往往只看那么几秒钟,你须要做到的就是让 HR 一眼看中你的简历。

2、形容本人做到了什么,而不是做了什么 很多程序员会在本人的我的项目或是技术栈里这样形容:在某我的项目,我负责 xxxx,如重构,如优化。
但实际上,面试官想要看到的是你在我的项目中,重构和优化带来了什么样的益处和成果,如果说性能晋升了,那么晋升的数据和状况是如何的,要一一形容进去,所以重点应该是“将我的项目做到了什么样子,做成了什么事”。
实现这两点,一份丑陋的简历即可出炉。

因为文章篇幅无限,文档资料内容较多,本能够提供链接下载,但无奈容易被谐和,所以全副存档,须要这些文档这里的敌人,能够点击我的【Gitee】,心愿可能共同进步,共勉!

后话

总得来说,这次面试能拿到 offer,也跟我之前的致力分不开的。其实做程序员圈子很重要,因为有了圈子能够让你少走弯路,拓宽人脉,拓展思路,学习别人失败和胜利的教训,获取最新教训与信息,能力抱团取暖!所以说,圈子的高度很大部分决定人生的高度,大家努力奋斗吧,与之共勉!

退出移动版