写点什么

渣渣二本的辛酸面试之路:从深圳外包到杭州蚂蚁金服,4 年小 Android 的爬坑历程

用户头像
Android架构
关注
发布于: 23 分钟前

29.ListView 如何优化?(复用,滑动流畅等)


30.在什么情况下 BroadcastReceiver 接收不到广播?


Android 中高级

1.TCP 的三次握手和四次挥手,为什么不是两次握手?为什么挥手多一次呢?


2.如何对 Android 应用进行性能分析


3.Devik 进程,linux 进程,线程的区别


4.android 应用对内存是如何限制的?我们应该如何合理使用内存?


5.数字签名的原理


6.Android 源码中常见的设计模式以及自己在开发中常用的设计模式


7.Android 与 js 是如何交互的


8.网页中输入 url,到渲染整个界面的整个过程,以及中间用了什么协议?


9.说一下 handler 机制?


10.子线程如何使用 Handler?


11.说一下你对 Handler 中 ThreadLocal 的理解?


12.主线程的 Looper 什么时候创建的?ActivityThread 的 main 什么时候调用?


13.Handler 中有 Loop 死循环,为什么没有阻塞主线程,原理是什么


14.如何优化自定义 View


15.如何解决 View 的事件冲突?举个开发中遇到的例子?


16.网络请求缓存处理,okhttp 如何处理网络缓存的?


17.WebSocket 与 socket 的区别?


18.handler postDelay 这个延迟是怎么实现的?


19.hashcode()和 equals()的作用、区别、联系?


20.Handler、Looper、MessageQueue、Thread 关系?


21.Hashmap 如何解决散列碰撞(必问)?


22.Hashmap 底层为什么是线程不安全的?


23.RecyclerView 的 ItemView 层级过深怎么优化?


24.怎么设计 Android 线程间通信?


25.Bitmap JPG 区别 图像处理:JPG、PNG 及 BMP 的区别?


26.广播(全局 本地区别)


27.onSaveInstanceState onRestoreInstanceState 区别,调用时机


28.Serializable 与 Parcable 的区别?


29.是否了解 SurfaceView,它是什么?他的继承方式是什么?他与 View 的区别(从源码角度,如加载,绘制等)。


30.说下冷启动与热启动是什么,区别,如何优化,使用场景等。


面试题集和答案在文末


下面我来结合我的面试经历来谈谈不同公司级别的面试难度。

小公司(0-200 人)

一般只要你收到这类型公司的面试邀请,只要你能把自己做过的项目架构项目重难点说清楚,还有一些 Android 基础知识稍微扎实一点,然后你稍微准备一两个深一点的技术点,什么 GC 机制、基本的热修复原理说个 10 分钟,offer 妥妥的,个别公司可能会考一些简单的算法题和智力题,比如冒泡、查找等等。在深圳这类型的公司三年安卓的价位一般在 12-15 这个区间,个别有钱的可能上限可以到 18,一般都是 15 左右。至于面试题太常规,这里我就不多说了,想要看面试题和详细答案的可以直接看总结部分。

中型公司(200-1000 人)

这类公司我面的其实也不是很多,深圳面试那家 BL,做外汇金融的(ps:金融业务相关的公司都比较有钱,如果面试过程中面试官表现出对你有兴趣,聊薪资的时候你就可以大胆要)我去面试的时候,公司应该是在扩招阶段,面试的人很多。问的问题比较广泛,Java、Android、算法、框架都有涉及到,虽然问的都比较基础,但是我回答的都会比他问的更深入一点,也许是对我比较有好感,聊了半个多小时后,他叫我稍等一下,然后去叫来了他们的 Team Leader。然后问了一些事件分发和绘制流程的细节问题,还问了一些 binder 的原理性问题,我…基本上能答出来,然后 leader 就直接问我,期望薪资是多少(一般技术面试官直接问你这个问题了,也就代表这份 offer 已经稳了)我说:22K。leader 笑着说了句:好,说下周会给我答复。


后来也确实收到了答复,但是答复说 22k 给不了,18k 能不能来入职,然后…就没有然后了。

大型公司(5000 人以上)

腾讯

一面之后就没有音讯了,所以没有什么发言权…


面试问的跟其他小公司一样从基础问起,但面试官会一步一步往深的问,直到你答不出来为止,然后下一个点 ,框架、原理性问题和性能优化方面的工作经验是比较注重的。也不觉得是自己答的太烂,只能说面试者中优秀的人太多,自己不够亮眼吧

上海哔哩哔哩(B 站)

B 站一面


1.自我介绍


2.treemap、红黑树、完全平衡二叉树


3.快速排序和插入排序


4.个大致有序的数组如何排序,最快时间复杂度


5.如何自定义实现一个 FlexLayout


6.RecyclerView 的回收复用机制


7.如何实现 RecyclerView 的局部更新


8.说说对泛型的了解,Retrofit 中的泛型是怎么解析的


9.说说对 binder 机制的了解


10.进程的状态,线程的状态,两者有区别吗


11.synchronized 锁住对象的理解


12.Fragment replace 生命周期变化


13.TCP 和 UDP 有什么区别? 讲讲招手挥手过程


14.用过 C++开发吗


15.Dalvik 和 Hotspot 虚拟机了解吗?有什么区别?


B 站二面


1.说自己做过最满意的项目


2.性能优化你做过哪些工作


3.屏幕适配做过哪些工作


4.遇到过哪些坑(困难点),是怎么解决的


5.如果要你来开发 B 站的一个页面,哪一个页面可以很快入手


6.用过哪些框架?MVVM?Jetpack 有入手吗?


7.用过哪些开源库


6.热修复、插件化都用过,遇到过哪些坑?可以讲讲原理吗


7.为什么想来 B 站,看哪种视频多一点,点赞多还是白嫖多


8.你觉得 B 站 APP 有哪些可以优化的地方


面试 B 站可以说纯粹是因为兴趣吧,大学时期就一直用 B 站的 APP,学习娱乐都是非常不错的地方。因为要去杭州面阿里,所以在上海朋友那里玩两天,顺便面阿里之前试试 B 站预热一下,一面二面是紧接着面的,邀请我三面的时候,我已经离开上海去了杭州,就没有后文了。

蚂蚁金服

实话实说,蚂蚁金服是我内推面试的,之前投过简历,但是没有收到面试。


这次面试难度总的来说中等偏上,面试过程跟腾讯的差不多,也是从基础往深处问,问到你答不出来为止。还问了一些安全性问题,因为我前几年的工作也是做金融的,所以相对来说比较轻松些,也正因如此才来了蚂蚁金服。其他注重的就是架构技术,设计思想,还有第三方库的一些掌握使用这些。


技术面试过后,hr 会跟你谈薪资,众所周知,阿里的福利待遇是很好的,月薪 18k,也算不错的。


期间也内推面试过百度、华为、字节、美团等公司。但是百度和华为对学历都有较高的要求,所以并没有拿到面试机会。字节、美团倾向于招 5 年以上的技术专家,所以也没有成功。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
渣渣二本的辛酸面试之路:从深圳外包到杭州蚂蚁金服,4年小Android的爬坑历程