写点什么

一个 34 岁出来面试还被拒绝的 Android 程序员有多惨?

用户头像
Android架构
关注
发布于: 15 小时前

这个我们早知道了,摸鱼闲的,但我还是表示出十分的耐心:“然后呢?”


“卧槽!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 的地位也是同样的原理。


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


如何进行高效复习呢?


=============================================================================


那些底层知识都很枯燥,每次学完就忘,一合上书就忘得差不多了,不知道要怎样学才好了。



其实造成这样的现象最主要的原因是没有掌握系统的学习方法,也没有系统的资料辅助理解和学习


知识点就是那些,基本上,翻来覆去就是那些换汤不换药的问法。


但是现在大家上班要写业务代码,下班又是家庭琐碎,要想自己静下心来好好学习根本不可能,仅仅只是有用信息的筛选就足够麻烦。


鉴于“金三银四”已经过半,为了让大家快速掌握Framework 的这些底层原理,这里给大家免费分享一份 452 页的《Android Framework 精编内核解析》。


需要的朋友可以直接【点击此处】,管理会发给你。


这份资料通过对最近两年这些大厂面经的收集和分析,把面试中常问的 Handler 和 Binder 以及相关的知识点整理成了一份有针对性的 PDF。


手把手,保姆式教学,教你透彻理解这两个知识点,吊打面试官。


Framework 精编内核解析


==================================================================================


目录总览





第一章:深入解析 Binder




Binder 机制作为进程间通信的一种手段,基本上贯穿了 andorid 框架层的全部。所以首先必须要搞懂的 Android Binder 的基本通信机制。


本章知识点


  • Binder 系列—开篇

  • Binder Driver 初探


Binder 驱动概述


Binder 核心方法



  • Binder Driver 再探


Binder 通信简述


Binder 通信协议


场景总结


Binder 内存机制


……



  • Binder 启动 ServiceManager


启动过程


核心工作


……



  • 获取 ServiceManager


获取 ProcessState 对象


获取 BpBinder 对象


获取 BpServiceManager


……



  • 注册服务(addService)


ProcessState


服务注册


Binder Driver


ServiceManager


……


![](https://img-blog.csdnimg.cn/2021041210121898.png?x-oss-process=image/wate


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


rmark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JVR2dvZ29nbw==,size_16,color_FFFFFF,t_70)


  • 获取服务(getService)

  • Framework 层分析


Binder 架构

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
一个34岁出来面试还被拒绝的Android程序员有多惨?