0
点赞
收藏
分享

微信扫一扫

有多少求职的Android 开发,曾在这栽过跟头

zhaoxj0217 2022-04-01 阅读 123

在同一家公司里呆久了,容易不知道外面市场的行情变化,所以通常建议大家定期去了解一下外面的技术栈行情,即使对于BAT大厂的员工也是如此。

一个34岁的应聘者

来看一个关于面试的故事分享。

某Android部门小组长奉命去面了一个34岁的Android程序员。去了大概半个多小时吧,回来后,他的脸色就变得很凝重。周围的同事多嘴问了句“怎么了”,组长叹了一口气,打开了话匣子。

34岁了还出来面试?

“我去面了一个34岁的Android开发……”

“卧槽!34岁了哎!”前排工位上的一个同事探过头来,一脸听戏的表情,语气满满的不可置信。

“尼玛,这么大的年纪了还出来面试……”后排工位上的同事也过来凑热闹。

小组长看了一圈围过来的人,突然暴怒:“艹!我也34,有意见?!!”

周围瞬间就安静下来作鸟兽散了,好像刚刚根本就没人提过“34岁大龄”这几个关键字。

有同事追问了一句:“那人技术咋样?过了没?”

小组长一脸复杂:“问啥啥不会……问个底层都答不上来……”

“你问了些啥?”

“就Handler和Binder那些啊。”

面试过程

问:先做下自我介绍吧。

应聘者:我是**,本科学历,以前在某大厂做Android开发,带过十人的小团队……

小组长一边看简历一边听,得到大致信息:大厂出身,带过团队,做过大项目,能力不错。

问:我看你简历里面这个项目用到了广播,说说广播底层的设计原理吧。

应聘者:哦,不是Binder吗?

问:那为什么要用Binder呢?说说Binder的原理?或者简单说一下Binder的优势是什么也行。

应聘者:我当时做的那个项目……(顾左右而言他)

小组长开始怀疑这人到底行不行,决定换个问题:那你知道Handler吗?说说为什么建议子线程不更新UI吧。

应聘者直接懵圈了,最后结结巴巴地回了一句:这……不是会用就行了吗?

小组长也很懵,没有想到做过大项目有过大厂经验的人一问三不知。

问:同步屏障和异步消息的实现和使用场景知道吗?

……

不到半小时,小组长就告诉他“回家等消息”了。

虽然很同情他的年龄和遭遇,但是规矩不能坏。

Android面试躲不过Handler和Binder

在项目中,各模块代码运行在不同的进程(线程)中,想要真正理解安卓的这几大服务,势必要掌握安卓的通信机制,而安卓最主要的两个通信机制就是Handler和Binder。

Binder机制在Android中的地位举足轻重,我们需要掌握的很多原理都和Binder有关:

  • 系统中的各个进程键的通信
  • Android系统启动过程
  • AMS、PMS的原理
  • 四大组件的原理(比如Activity的启动)
  • 插件化原理
  • 系统服务的Client端和Server端的通信原理(比如MediaPlayer和MeidaPlayerService)

可以说Binder机制是掌握系统底层原理的基石。Handler的地位也是同样的原理。

现在的业界有一句话是这样说的:技术好的未必弄得懂底层,但是底层基础好的学起技术来很快。所以,大公司在挑选公司人才的时候,更加看重的是应聘者对底层原理的掌握和理解。

如果真想掌握好 Android Framework 框架知识点,学习路线和学习文档肯定是少不了,为了帮助大家节省学习周期的时间,收集整理了这份《Android Framework 源码解析》,希望帮助大家在技术的道路上更进一步。已经全部整理收录好了,大家需要参考学习完整版,请去我 GitHub 进行查阅。

GitHub地址: 
https://github.com/733gh/Android-T3
举报

相关推荐

0 条评论