金三银四,一名“资深”程序员的阿里面试经历

Carson带你学习Android

共 2323字,需浏览 5分钟

 · 2021-02-21

1
背景
霸哥工作五年了,是一名“资深”程序员(嗯...至少他自己是这么认为的)
霸哥所在的公司已经两年没有涨过工资了(嗯...至少他是两年没涨过了)
霸哥坐不住了,这位“资深”程序员打算去“外面的世界”看看,霸哥学历还算不错,于是找到了大学同学,得到了阿里内推的面试机会。

2
伤害不高,侮辱性极强
面试官很和善,霸哥坐下自我介绍完毕之后开始技术面试
面试官:用过广播没有呢?
霸哥:广播?这个用过的(霸哥内心os:谁特么没用过广播啊,这有什么好问的)
面试官:那可以说说广播的注册方式吗?
霸哥:有两种注册方式,静态注册和动态注册(阿里面试,就这水平?)
面试官:你知道为什么要设计这两种方式吗?
霸哥:(啊这...从来没想过这个,猜一下吧)可能是因为用途不同吧(此时语气明显不自信了),一是为了在Activity生命周期内有效,这个是动态广播;静态广播是为了在程序关闭的时候也能收到。
面试官想了下:这么说也没错,但是还差点意思,你知道为什么在程序关闭的时候静态能收到?
霸哥:这个可能是广播的设计原理吧...(有点顶不住啊,特么不就是一个广播么,会用不就得了,哪这么多问题)
面试官笑了笑:那说说广播底层的设计原理吧、
霸哥:是Binder
面试官:那为什么要用Binder呢?Binder的原理是什么?Binder的优势是什么?为什么Binder不用socket实现?
霸哥人傻了,面试官一顿底层给霸哥直接整懵逼了,原来之前每个自以为很low的问题都是在自己挖坑,越往下越懵逼。
接下来的每个知识点也是如法炮制的问法,霸哥开始还能说几句,问到后面就一句也说不出来了。
面试只进行了20分钟,霸哥就“回家等通知”了。

3
还有这好事?
霸哥碰了一鼻子灰,回去百度了下发现,原来Binder是面试必问题!
Binder和Handler至关重要!四大组件的通信原理底层都是Binder,Intent数据传递也受到Binder控制!
对面试结果不甘心,憋着一口气,霸哥想一次性把Binder和Handler都掌握起来,可是搜遍全网,找到的东西不是知识点太零散了,就是讲的不够通透。沉浸在烦恼中的霸哥没注意背后走来的同事。
同事:干啥呢,这些小广告可全是病毒,你要慎重啊!
霸哥:吓我一跳!在找Binder个Handler的学习资源呢。信息爆炸,找个精准点的资源太难了!
同事:学Framework去腾讯课堂啊!里面享学的《Android Framework面试小专题》正好要开课啦,原价199元的面试突击训练营,现在只要1毛钱就可以报名参加!两天时间,保证给你整的明明白白的!
还有这好事???不早告诉我!
没错!为了让大家彻底掌握Handler机制与Binder机制!本次特邀前三星/小米高级研发经理Alvin老师与网易架构师Leo老师为大家带来《Android Framework源码面试面试小专题》的直播分享。
两位老师将会给大家详解一线大厂面试中关于Binder与Handler的要点难点和学习技巧,手把手带领大家深入Framework底层源码。

 Alvin老师 
前三星高级研发经理,国内首批Android底层技术导航人
专精领域:精通Android FrameWork源码及性能优化;三星手机Rom核心架构设计,专注NDK底层设计与开发。

 Leo老师 
8年Android开发项目经验,腾讯战略投资创业公司技术总监
专精领域:Android系统架构,Android Framework底层源码,性能优化,flutter混合开发等技术。

 适合人群:
1. 具备移动开发基础;
2. 具备一定自学能力;
3. 立志成为高级工程师、架构师的安卓开发者

 课程安排:


2.23—Alvin老师(Handler面试必问知识要点讲解)

1:线程切换的原理  (阿里)
2:looper什么时候进入循环   (汇丰)
3:handler内存泄露,最终是谁持有的activity?  (小米)
4:handlethread 原理    (顺丰)
5:handler的post(Runnable)如何实现的。callback,runnable,msg的执行优先级。 (字节,手百)
6:handler没有消息处理是阻塞的还是非阻塞的?为什么不会有ANR产生? (腾讯)
7:Handler如何处理发送延迟消息     (腾讯)
8:你听过异步消息么?它实现原理是什么?  (微信)

2.24—Leo老师(Binder机制及其常见面试题讲解)

1.Android为什么要采用Binder作为IPC机制?
2.Binder是如何做到一次拷贝的?
3.MMAP的原理?
4.Binder机制是如何跨进程的?
5.AIDL生成的Java类细节是怎样的?
6.四大组件底层的通信机制是怎样的?
7.为什么Intent不能传递大数据?

4
附赠赠资料

2109页《Android金三银四面试宝典》


(包含腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中高级安卓技术点。希望可以助你面试更加顺利!)

558页《Android开发核心源码学习笔记》




看完这份大佬精心整理的《Android 开发相关源码精编解析》后,会对Android源码知识有着更深入、更系统的理解。

5
获取方式

文中资料免费赠给参加训练营的学员

加薇薇老师微信报名训练营
立即领取
(如遇扫码频繁受限,点击左下角的阅读原文

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报