写点什么

渣渣二本的辛酸面试之路:从深圳到杭州,从外包到蚂蚁金服

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

23.ActivityManagerService 了解吗?有什么作用?24.广播的两种注册方式有什么区别?25.广播发送和接收的步骤是什么?原理了解吗?26.ContentProvider 是如何实现数据共享的?27.activity 的 startActivity 和 context 的 startActivity 区别


28.为什么要用 ContentProvider?它和 sql 的实现上有什么差别?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.如何优化自定义 View15.如何解决 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.如何自定义实现一个 FlexLayout6.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 开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。给文章留个小赞,就可以免费领取啦~


戳我领取:Android对线暴打面试指南超硬核Android面试知识笔记3000页Android开发者架构师核心知识笔记

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
渣渣二本的辛酸面试之路:从深圳到杭州,从外包到蚂蚁金服