前言我强烈建议大家定期去参加一下外面的面试,尤其是BAT大厂的面试,不要一直闷在公司里,不然你很容易被这个世界遗弃。
昨天,我们小组长奉命去面了一个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的地位也是同样的原理。
现在的业界有一句话是这样说的:技术好的未必弄得懂底层,但是底层基础好的学起技术来很快。所以,大公司在挑选公司人才的时候,更加看重的是应聘者对底层原理的掌握和理解。
如何进行高效复习呢?那些底层知识都很枯燥,每次学完就忘,一合上书就忘得差不多了,不知道要怎样学才好了。
其实造成这样的现象最主要的原因是没有掌握系统的学习方法
,也没有系统的资料辅助理解和学习
。
知识点就是那些,基本上,翻来覆去就是那些换汤不换药的问法。
但是现在大家上班要写业务代码,下班又是家庭琐碎,要想自己静下心来好好学习根本不可能,仅仅只是有用信息的筛选就足够麻烦。
鉴于“金三银四”已经过半
,为了让大家快速掌握
Framework的这些底层原理,这里给大家免费分享一份 452页的《AndroID Framework精编内核解析》。
需要的朋友可以直接【点击此处】,管理会发给你。
这份资料通过对最近两年这些大厂面经的收集和分析,把面试中常问的Handler和Binder以及相关的知识点整理成了一份有针对性的pdf。
手把手,保姆式教学,教你透彻理解这两个知识点,吊打面试官。
Framework精编内核解析目录总览第一章:深入解析BinderBinder机制作为进程间通信的一种手段,基本上贯穿了andorID框架层的全部。所以首先必须要搞懂的AndroID Binder的基本通信机制。
本章知识点
Binder 系列—开篇
Binder Driver 初探
Binder 驱动概述
Binder 核心方法
Binder Driver 再探
Binder 通信简述
Binder 通信协议
场景总结
Binder 内存机制
……
Binder 启动 ServiceManager
启动过程
核心工作
……
@H_301_191@
获取 ServiceManager
获取 Processstate 对象
获取 BpBinder 对象
获取 BpServiceManager
……
注册服务(addService)
Processstate
服务注册
Binder Driver
ServiceManager
……
获取服务(getService)
Framework 层分析
Binder 架构
Binder 类图
Binder 类分层
初始化
注册服务
获取服务
如何使用 Binder
如何使用 AIDL
Binder 总结
Binder 面试题全解析
第二章:深入解析Handler相信大家都有这样的感受:网上分析 Handler 机制原理的文章那么多, 为啥还要画蛇添足整理这份笔记呢?不是说前人们写的文章不好,我就是觉得他们写的不细, 有些点不讲清楚,逻辑很难通顺的,每次我学个什么东西时遇到这种情况都贼难受。
本章先宏观理论分析与 Message 源码分析,再到MessageQueue 的源码分析,Looper 的源码分析,handler 的源码分析,Handler 机制实现原理总结。最后还整理Handler 所有面试题大全解析。
Handler这章内容很长,但思路是循序渐进的,如果你能坚持读完我相信肯定不会让你失望。
第三章:Dalvik VM 进程系统AndorID系统启动、init 进程、Zygote、SystemServer启动流程、 应用程序的创建使用,Activity的创建、销毁 Handler和Looper。
第四章 深入解析 WMS窗口管理框架 系统动画框架 VIEw的工作原理。
第五块 PackagerManagerService包管理服务。资源管理相关类
由于篇幅原因,这份纯手打笔记已经被整理成了pdf文档,有需要的朋友可以点击下方找我领取!(备注“CSDN”粉丝才会通过哦)
总结可以直接【点击此处(937659705)】,管理会发给你。
以上是内存溢出为你收集整理的一个34岁出来面试还被拒绝的Android程序员有多惨?全部内容,希望文章能够帮你解决一个34岁出来面试还被拒绝的Android程序员有多惨?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)