一个五年 Android 开发者百度、阿里、聚美、映客的面试心经(1)

于是我决定开始投递简历(世界那么大,我想去外面的世界看看)。这次看机会与往常不同,我决定好好准备一番,然后开始投递简历,主要渠道是 “X钩”,辅助渠道是猎头。

这次看机会我将所有公司分为三类:

  1. A类: BAT公司,非常靠谱,各项待遇都是很优厚的

  2. B类:一些知名的互联网公司(基本都在C轮以上),基本很靠谱,该有的都少不了

  3. C类:就是那些正在招聘的公司,没啥名气,虽然钱多但是事也多。靠不靠谱真还不知道,只能碰运气

基础知识不可少

以前我基本都是直接去面试,总以为Android工作好几年了,出去面试基本没啥问题,因此带着那份傲娇的自信 总是碰壁,尤其遇到很多基础性的问题,一时真不知道怎么回答?还有一些问题之前都记得很准确,但是在面试官问的时候,就一个大写的懵逼表情。

在我出去面试之前,我已经把 《大话数据结构》 基本看完了(想想我之前的生活,每天早上七点多起床,然后看几页,洗漱完就去公司)。虽然没怎么记住,但是遇到这些相关问题,还是能很容易回答出来的。因为有了以前的教训,而且这次我也是很认真的准备了好久(可以说蓄谋已久啦,我心里其实很明白互联网公司可能存在很多风险,尤其是没有盈利的公司,唯有技术这东西必须牢牢掌握住,才能立于不败之地),因此我准备把Java基础巩固下,但是手头没啥合适的书籍和资料。

还好民间有很多厉害的开发者,他们不以盈利为目的,只为完成某种需求,开发一款 app,然后发布到应用市场,给需要的人。于是我就找到一个 “Java面试训练” 的App,下载量还可以,就安装到手机上,开启刷题模式,应该刷了10来天吧(都是在上班,下班时间看一点,虽然时间比较零散,但是这样记得最深刻)。在之后的面试中,基本很少遇见一些奇葩的java基础。

这里不得不提一件事,那就是从 app 崛起的那一刻起,就有很多的 中间商,一个小作坊的屋子里有很多电脑或者不知名的设备,屋子里慢慢的数据线,犹如蜘蛛网一样连接着很多设备,做着一些神秘的事情。不用我说你们应该也知道他们做着一些很肮脏的事情,我就不细说干什么了,简单举个例子:这群人的老大看中某个市场上某款游戏非常火爆,或者 app 特别的火,于是通过反编译等技术修改这些 app,然后重新打包上线到一些不是很知名的app 渠道或者小型应用时长,还有一些论坛,一旦有用户下载,就会在 app中弹出广告,在游戏中做各种充值操作,甚至在你无意间点到一个按钮就会自动扣除你的话费。这是前几年干的事情,新闻中也纰漏了很多,这里只能说监管不力。

但是随后各个公司都意识到这样的安全问题于是有了 app加固的技术,无法修改 app,即便修改了,但是也运行不起来,所以一定要注重安全性问题。

刚踏入架构师之路的经历

这次我给自己的规划是做一个架构师,但是我深知架构师可不是闹着玩的,必须要有很强的一面,因此我在简历里面写的只是“架构师方向”。我在K公司 做得是架构师方向,因此我觉得有必要朝着这个方向发力,虽然现在不是很厉害,但是坚持一两年后,即使不是非常厉害,但是也距离非常厉害很近(这里使用了《孙子兵法》的一句:“求其上,得其中;求其中,得其下,求其下,必败。” )。

这个想法来源于在K 公司我第一任leader曾经跟我说过的话:『对于新东西,如果你觉得掌握了,但是不应用到项目里面来,是没有什么意义的,时间长了还是会忘记的。』我很庆幸我有一个好老大(我是属于双领导型的,K 公司 A项目的负责人是我的leader,但是我的直接汇报对象是 K 公司的副技术总监,下文就成为老大),用他的话来说就是经常踢着我的屁股走。

当我在网上了解到很多实用的新技术时,跟他随意吐露一句话,他就能非常用心的倾听我的想法,并鼓励我将这些东西带入到项目中来。从那以后我就开始看很多新技术,感觉合适的会引进到我们的项目中。从之后的证明中来看,是非常有价值的。

曾经遇到的情况是这样的:当我刚进入K公司后,打杂一个多月,就被关到了小黑屋(呜呜呜,好可怕的小黑屋,996的制度)。然后才开始正常的架构师之路,第一步就是统一开发环境,在我来公司后,我发现公司的android同事用的开发工具种类真是繁多啊,神马 Eclipse、IntelliJ IDEA、Android Studio、Windows、Ubuntu、Mac。刚进公司的时候我曾经用鄙夷的眼神看过那些 Eclipse 的童鞋,真是无力吐槽了。于是我给老大说:『咱们的开发环境最好统一起来,现在各式各样的工具,弄个东西真费劲。』于是老大二话不说,就在群里跟大家吼,都务必切换到 Android Studio(以下简称 AS),由我来监督并执行。于是我拿着鸡毛当令箭,给大伙把地址什么的都找好,发到群里去,让他们自己下载(后期我们就搭建了 ftp服务器将这些常用的工具都放在里面,省的再去下载了)。 翻墙工具我使用 goagent(不怎么稳定),给其他人分享也太费劲了,因此让他们自己搞定。老大自己有一个 VPS,于是给大伙共享后,环境基本就统一了。

期间有一个小插曲:

一个年龄 比我大的同事在用 Eclipse,在我推广我的 AS 时,他说比较忙,没时间弄。我就急了,因为我刚到公司不久,老大分配给我的任务,推行不下去,这可不行啊,没说几句吵起来了。最后我也知道不能太着急,但是已经吵了,关系肯定不咋样,老大当时开会去了,我知道自己太心虚了,因此主动给老大承认错误,说我和那谁谁吵架了,因为他不用AS。最后在老大的劝说下,这个人就勉强切换到 AS了。

其实这个人就是我之后的新Leader,每每想到这里我就全身发冷汗,Leader要虐你,你还能有好活路么?还好这个Leader人比较好,人也比较大气会处事,不怎么跟我计较。我已经对着佛祖忏悔了N多次。

第一天面试

我用 “X钩” 开始捡一些不怎么有名的C 类公司投递,很快就收到了很多的 面试邀请。

首次面试——国外输入法

记得当时去的第一家公司是做国外做输入法的,做的还不错。从外面能看见一栋略微有点老的大厦,办公环境很一般。

进去后很巧的是遇见了一个熟人,第一位面试官竟然认识我之前在X游的一个同事,然后我们就聊开了,他也没怎么难为我,就问了我几个很简单的问题,例如:handler的原理,多线程。我按照记忆中的样子说给他听,然后就第一关就轻松过了。

等了一会,另外一个面试官进来了,问了一长串问题,基本就是 Android的相关的基础,然后第二个又轻松过了。

等到第三关的时候,一个年龄稍微大的人进来了,很容易能看出,这个人应是该技术团队的负责人,问了一些工作经历后,然后问了一个最让我印象深刻的问题是:『你了解过Android上的黑科技么?比如Android 5.0 之上有一个辅助功能,如果用户开启后,就能像豌豆荚那样自动安装app,等同于拥有了root权限,但是手机重启后,这个就自动关闭了,有没有办法可以自动打开呢?』 据他了解,有很多不知名的小App 都实现了,但是很多大公司都没用。 我想好好一会,说可能这些app 被厂商列入了白名单,因此重启手机后还能自动打开那个辅助功能。我实在想不出如何能实现这样的效果。最后他告诉我,其实他们也是分析了好久,才发现,那些小App, 都是开启了一个进程(或者是service,具体记不清了,有兴趣的童鞋可以试试)来守护,因此能够开启。这么一说,我也瞬间明白了。

但同时我提到这样做会可能会导致耗电量增加啊,对方的一句话把我真雷住了。“那能费多少电。。。” ,我瞬间无语了。但是他们可能因为某些需求必须如此做,因此要实现这样的功能,相对于电量来说应该也能接受,不至于比什么都玩不了的强,体验也确实提升了很多。不用用户每次去开启那个开关,虽然有点风险,但是相对于Android上的风险来说,确实低很多。

等第三轮面试完成后,然后Hr 小妹妹带我到一个很大的会议室,见到一个很年轻的人,听 Hr 说,这个人应是 CEO 之类的,反正职称很高。他就问了些职业规划,平时有什么兴趣爱好,以后有什么打算,薪资要多少?我说到公司后可以先接触一些业务层面的东西,然后慢慢再走架构路线,之后可以负责主要核心模块。平时就看看书,参加沙龙活动,没事打打游戏。他也简单回答我一些问题。之后就是让我先走,等通知。

傻傻的我还就这样高兴的走了,因为我总体感觉还是很棒的,毕竟连过4轮哈。从最后的结果中能明白,其实应该是要的薪资太高了。为什么这么说呢?因为一般情况下,最后一轮就是简单看看你这个人怎么样,技术关肯定没问题,否则前三关就 pass 了。可能对方觉得你要的薪资和你的实力不符合,也可能他们想再对比看看,选择一个更合适的人选。

58到家

从上一家公司面过后,我就紧接着去第二家公司 58到家,在大屯路东地铁站附近。到了后刚好12点,电话联系后,他们说班车司机都午休去了,要等到2点才能过去(58到家面试需要从地铁站做班车过去,路程还算能接受的)。然后我就吃了点饭,在附近网吧 撸一局,看时间点差不多了,我就去那块坐车了,差不多走了5分钟做就到了。

北苑路北美国际商务中心,这块有很多公司,什么珍爱网之类的都在那附近。

第一轮面试我的是一个小伙,问了一些基本的Android基础,然后问了一下 android 的绘图原理,我说: onMeasure, onLayout, onDraw。 然后他说每一个什么作用? 那个 onMeasuer 主要做什么的?并举了一个例子:一个自定义的滚动View A里面如何放另外一个滚动的View B?我说把 View B将 onMeasure 里面的高设置成最大,这样就能解决冲突问题。最后他简单说了一些 onMeasure 里面的几个参数,我对此加深了解了。

第一关也就这样过去了,等到第二关的时候看起来一个挺帅气的男人带着一个很显眼的婚戒跟我说一些项目流程上的东西,因为我在K 公司这块跟老大接触的比较多,因此一般问题难不住我,轻松就过了。

等到第三关的时候,问我一些工作经历,然后问问职业发展规划,平时的兴趣爱好,以及你觉得得你和其他人有什么优势。我挺好奇的,为什么最后的这些面试官都要问类似的问题,之后从一个关系还不错的猎头那里了解到,其实他们也就是了解下以后的动向,以及看看这个人的人品。关于优势我是这么说的:我说到公司后可以先接触一些业务层面的东西,然后慢慢再走架构路线,之后可以负责主要核心模块。其实和上面的回答一样,这基本就是所说的套路。他们可以用套路,我们为何不可呢? 嘿嘿,别学我,自己根据实际情况来。

本以为就结束了,没想到他们说 CTO 不在,可能还有复试,先让HR大美女跟我谈谈。HR慢条斯理的跟我说了一些待遇什么的,了解了下我的状况,问我要多少。我基本和上一个公司说的一个样。

之后再来复试的时候,这个大美女HR给我了一些建议,说这个 CTO 是阿里出来的,喜欢会说话的人,想到什么就说什么,别紧张。在这面的时候,我就很放松,该怎么说就怎说,他也问了一些职业发展规划,以及我的经历,基本10来分钟就结束。我只想说大美女 HR 真真是体贴入微,感觉很 Nice, 这轮基本也顺利过了。之后这个HR直接说我被评为T5,但是以后可以继续努力,我也欣然接受了。不管怎么样,反正拿到offer再说,之后慢慢对比。

楚楚街

说起这第三家 楚楚街 我就一肚子火,也不是说第三家不好,只是在去的路上让我备受折磨。从大屯路东 到 知春路,坐地铁应该几十分钟就到了。当时已经快四点了,5点面试,然后我就打算坐车去(不想再挤地铁了,想轻轻松松的过去),特么的为了省那几块钱,我选择拼车,在路上本以为只需要最多一个小时就到,没想到花了我1个半小时(只能感叹北京的车真多,路上堵的不行不行的)。哎,到他们公司的时候都快6点了,还好我提前在电话里和HR说过,他们说6点也是可以的。于是第三个面试就开始了。

首先过来第一位面试官,看样子应该是 Android 技术 leader,开始问了我一些基础的面试题,比如:View 的事件分发机制,View的绘图,ListView 的实现原理(这个应该是几年前面试的时候经常问题,没想到现在也能遇见)。聊了好一会,然后他拿出他们的客户端给我演示了一个页面,说这个界面比较卡顿,让我分析下原因。我看过后,提出了几个有效的检测卡顿的方案,他们的这个界面主要是Listview 的 item 里面包含了一个 viewpager,然后 viewpager 的 item 里面有一个大view, 上面有N 多图片 + 动画效果,因此实现起来很麻烦,最后导致性能卡顿(不得不说产品同学,你的想象力真丰富啊,有没有考虑过研发同学的心情)。然后,他感觉得到了共鸣,因此接下来说话就比较放松了,他说和我年龄差不多,感觉我还是很厉害的(我不禁惶恐不安,我感觉还行,但是应该不是他说的很厉害,可能只是工作时间长了,该积累下来的东西大部分都有了),互留了微信,方便以后的交流(事实是没有啥交流的,只是当你面试通过后,可以有一个拉你入伙的渠道,嘿嘿,不晓得对不)。

第二个进来的面试官长得挺帅气的,手上戴着戒指(之所以提到这个,是因为在我在我的印象中这个最亮眼,很多次在和他交流的过程中,我都比较紧张,我就盯着这块看用来放松,说真的如果看着对方的眼睛,双方可能都不会自在,当然除非你很有自信的时候是可以的)。开始简单问了下工作经历,然后就开始聊技术,第一个就是问我知道不知道二分法,我当时楞了一下,猛然间反应不过来,最后专门确认问了下是不是二分查找。然后我说在一个数组里面每次查找的时候从中间点开始对比,大于就右边找,小于就左边找,顺带提了一句这要在一个顺序的数组里面。然后面试官就说,二分查找还得每次先排一次序?我当时说是的,结果就感觉很2,可能没理解清楚面试官表达的是什么或者说我的表达有问题,其实我想说最开始的数组就是一个有序数组,但是面试官可能误解了我的意思,以为每次查到后,都要先排一次序(只能说悲催啊)。

这个问题过了后就再问了我一个问题:『你来说说 Java 的内存管理。』这个问题在一两年前上就栽过跟头,所以当时专门看过相关文章。但是当我回答的时候,由于长时间没怎么看过了,记忆有点松动,大体的说出来了,但是不够准确(回去后就好好补充了下,在之后的面试过程中遇到的概率还是非常大的,尤其在第二面的时候)。然后他问我要多少薪资,我当时说 XX,然后他就问我是不是可以低一些呢?我开始说可以低一点,但是当他问低多少的时候,我心想上面两个公司的 offer 基本感觉到手了,这个可以适当的要高点,能给就来,给不了那就算了(我事后想想才明白,这种2B 的想法绝对不能有,要时刻保持低调,把握住任何一次机会)。最后他说,我得对得起兄弟们(怎么说呢?估计是刚回答的时候不是特别的满意,还有感觉我要的太高了),你这个薪资我没法跟上面谈。然后可想而知,当然肯定没有结果了。

因此奉劝各位,要时刻保持低调,谦虚谨慎,莫要装B,否则肯定遭雷劈,我这就是一个活生生的例子。

第二轮B 类公司面试:

面试有很多,说起来可能会长篇大论,以下就总结性的说说,不再说明具体细节,只说我们之后在面试的时候应该注意的地方,以及他们对应聘者的要求。

映客 && 蘑菇街

映客直播在望京soho,很高大上的地方,t1,t2,t3分别对应从低到高的大楼。到公司后,感觉还可以,第一个面我的人是一个技术,基本就问到一些Android 的面试题,没有任何悬念就过了,第二面的时候,感觉那个人还是比较随和的,问了 Java 内存管理的东西,以及一些其他的问题,最后还都聊得挺开心,第三面的时候直接就是 HR谈薪资,很容易就过了。

在望京 soho 还去过 蘑菇街,里面的人技术比较好,我当时过去的时候已经6点了。那个面试官就跟我聊人生理想,提到一些 Android系统原理性的东西,但是感觉回答的不是很好。面试官感觉还是很不错的,然后给我说你以后要多看看例如 handler 原理,windowManager 的东西,并且从源码上去分析,网络上的理论知识还是要结合实践的,真是受教了。这部分我有点弱,虽然知道原理,但是看过源码的东西还是很少的,以后需要注重补充。他说他才是高级,我要应聘的这个 架构师肯定是不行的,问我是否愿意做其他的,我当然表示愿意了,现在要综合提升能力,才能往更高层走。

最后的最后,他很搞笑的跟我说:『我这人真不骗人』。我还纳闷啥意思,最后他说:『今天已经很晚了,第二轮的面试官不在,我明天给你向上反馈下(从之后的一个同事的口中才明白,一般说第二轮的面试官不在,基本就是说你没戏,很委婉的一种说法而已)』。

结束后我看了一下表,我晕,一面就面试我了一个半小时,真特么无语了。不过收获还是很大的,知道自己的不足后,就知道需要补充哪些东西了。

乐视

去了一趟姚家园的乐视,只能说看着挺风光的,但是进去后,特么的真虐人。

电梯分区,还只能在一边的乘坐,很不赶巧的是我去的时间刚好是10点,对于他们公司来说这就是高峰期,电梯根本排不上队,而且乱糟糟的(之前在X游的时候,大家都是排队的,这边没有,可能地方太小了,排不开吧)。电梯上不去了,看来只能跟一些人爬楼梯,一直爬到9层,感觉都喘不过气了。

上去后一个很美的 HR(长腿姐)带我找面试官,然后表示没有会议室,原来的会议室都变成工位了,所以让我先在一个小角落呆着(保洁阿姨的专属位置),过了好一会面试官姗姗来迟,也是一些非常基础性的东西,最主要的是他们提到了推送,怎么实现,已经存活情况说了一些。

第二个面试官也是特么来得晚,等了 N 久,闲的无聊就和保洁阿姨聊天,顺带看看他们的办公环境,只能说真心挤得慌。第二位面试官来了后就看看我的经历,因为第一轮的技术面都过了,因此简单聊了下,就说说他们的发展前景,要做海外产品。听我的兴致勃勃,很开心,然后让我等会。

他们基本都去吃饭了,留下了我在那里干等,然后来了一个HR 的小妹妹,跟我谈薪资以及经历,貌似对我一两年换工作有很大意见,哥就好好给她普及了一番互联网界的基础知识。没想到就在快要搞定的时候,这个小妹妹的老大过来了,然后就看见一个身材超棒,腿很长的漂亮姐姐 HR(长腿姐),坐在我的对面(小妹妹示意我这是她的老大)。瞬间不爽了,都马上谈完了,结果换人再来,真无语了。只能将刚刚的辉煌时刻再来装 B一次,然后谈薪资神马的,给的也不是很多,我要 XX,她说那么多,只能给我薪资范围最低的一个档次。好吧,就接着吧,然后非要我先填写一份背景调查表,如果没有问题后,才给我发 offer,我看到美女拿着那份很大的 纸张,瞬间无语了。

我当时就不怎么开心,然后长腿姐毕竟老练的很问到:『说你是不是有事?』。我说是的,待会1点还有其他地方的面试,然后她说:『那你先回去吧,这个表格发你邮箱,你写好后发给我。』然后长腿姐就送我出去,我又特么的一路爬楼梯下去(9层啊),电梯等了 N 久都下不去。

接下来说说几个有意思的公司

新浪

新浪位于理想国际大厦,记得几年前去新浪面试的时候,傻傻的都没准备就去了,结果第一关就挂了。

这次是下午去,外面还飘着毛毛细雨。去了后竟然特么的让我做面试题,哥已经不做面试题很多年。但是想起了之前的经历,还是老老实实写写,据我估计面试的哥们应该会问上面的东西。还好这次做了万全的准备,刷了 N 多面试题,补充了基础的数据结构理论知识。写起来如行云流水,嗖嗖嗖的没几分钟就完了。

第一个面试的哥们看看卷子,没啥意见,然后问最后一道纠错编程题有没有什么问题,我虽然指出了几个错误,但是感觉他还不是特别满意。因此我仔细看了下,原来是一个静态变量引用了 Activity 的上下文,然后指出,他再问了一些偏底层的东西以及性能优化的地方,轻轻松松就过了。

等到第二面的时候,这个人一看就是技术大牛,问了很多 Java 层面的东西,多态,抽象类,多线程,内存管理等等。我感觉回答的不是太好,多态那有点问题,其他的应该还可以。

然后就进入了第三面,第三面的面试官应该是部门负责人,问了工作经历上的事情以及兴趣爱好,之后的发展方向,想做什么层面的。最后很不幸的是在等待第四面的时候,最开始给我题的美眉告诉我时间很晚了,让我先回去,之后等消息。

至少这次来比第一次高级了很多,不至于第一轮就被刷下去。最后分析了下原因,还是薪资要的太高了,尤其是这类公司。

滴滴

滴滴位于西二旗,应该有两个办公地点,其实我一直很想去滴滴,福利待遇很不错。一年前去过一次,很可惜在第一轮的时候,因为在某些适配方面回答的不是太好,因此失去了机会。

这次已经准备很多了,进来后还是在去年的位置上坐下等面试官。说实话感觉滴滴成长的很快,办公环境都变的更漂亮了,哈哈哈。

这个面试官一看就是一个技术宅,开始对我各种炮轰。面试题一个接一个的,在我连续回答十来个题后,看见他还在问,记得在提及到 volatile 的作用的时候,我就开始不爽了,这个东西记得之前在源码里面见过,但是具体的一时说不上来,看着他那样子,埋头在纸上给我出题,我就不怎么配合了。面试了那么多家,就你问了 N 多问题,还有完没完了(其实这也算是抗压的一种面试方式)? 我直接说不知道,然后他再问了几个基础性的东西,我想都不想直接说不知道,他貌似已经看出来我已经很不爽了,然后说,那你说说你项目中有没有比较 NB 或者比较有亮点的地方。我的回答直接是:没有。然后他也就不怎么问了,说那先这样。我说:好,就这样,我先走了。 然后潇洒的离开滴滴。

现在想想真特么的很2B,应该低调低调再低调。也可能是那天下午太累了,上午面试了两家,而且已经拿到两家的 offer 了,还都不错,在这特么憋屈,才表现的如此差劲。其实对于问题,知道的话就好好说,不知道的话,可以说说思路和想法,然后说说以后会怎么做,利用迂回包抄策略去应答,准没错。至少给面试官知道你还是可以动脑子的人。

在此我真心后悔当时的冲动,向滴滴那位面试官表示歉意。其实不用那样的,我们只需在面试的时候尽力表现自我就可以,以后切莫带着情绪去看待或者回答问题。

对于人生中的很多问题也是这样的,这次栽倒坑里去了(用我老大的话来说,你不在这里踩坑,总有一天也会在另外一个地方踩到,到时候的损失就不可估计,趁着年轻多多历练自己),总结之后才能更近一步。

百度外卖

百度外卖现在已经不属于百度了,而是单独分出来。

我的一个同事去了百度外卖,我感觉他的能力和我差不多,我就让他推荐了。

去后,上了一个很长的台阶(感觉很庄重的样子),要刷卡才能进去。等了好长时间,面试官把我领到楼下的公共办公桌,就是那种中间空地,周围都是楼层,能看见其他人在楼层间走动。一个年龄见长的面试官,开始感觉挺随和的,然后说跟我聊聊 Android 基础。

第一个问就是:『咱们先来谈谈 Android 的四大组件。』我彻底懵逼了,尼玛,跟我谈四大组件,有意思么? 没想到一直到最后都跟我谈这些,一个接一个的问。说到广播那块,关于一个 app 被杀掉进程后,是否还能收到广播的问题纠结了好久。

然后让我画我之前设计的架构图,我就随便画了画,但是没想到这个看起来很好的面试官让我大跌眼镜,他用鄙夷的笑容告诉我:『你这也太初级了。』我当时心里有几万只草泥马在崩腾,你都30+了,就不知道鼓励新人啊,我都说过我刚做架构的时间不长,而且鄙视我,有本事你也弄一个架构给我看看啊,一点不尊重我们年轻一辈的劳动成果。也许就怪我当时我真就按照他说的草草画几笔吧,没怎么认真对待。我去其他公司面试的时候,虽然这个图不怎么样,但是至少能解决 某些领域的问题,其他面试官都很谦虚。这个百度外卖的面试官,真不是我喜欢的领导,如果以后真让他来带我,那就真完蛋了,很多时候我们都是因为某些人扼杀了我们最初美好的萌芽,而从此失去了创新的意识。

很庆幸的是我在 K 公司的时候,老大一直鼓励我创新,遇到想做的就去做,所以一路下来,虽然很累,但是干的很开心。

所以每当有人问当初为什么选择K 公司的时候,我都会自豪的说:『我的老大很不错,我在那里很很舒服,很开心』。记得在我离开的时候老大给我最后劝告就是:『你要时刻反思自己此刻是不是已经被别人洗脑了。』

第三轮:

1.百度

百度位于海淀区上地十街附近,有很多大厦。 我去的是一个做国外工具的部门,去了后,被百度的环境和氛围震惊到了,在一个很大的技术园区,有网易,百度,腾讯公司,对面还有一个大楼正在修建,估计会是另外一个互联网公司的场地。

进入大厦里面后,由于还没来得及吃饭,边吃手里的饼,边浏览下百度的外围办公区。进入百度的大楼后,两个入口都设有刷卡机。

在空闲区等了好一会,然后一个人带我进入大厦。在进去之前,到前台那块面试官输入自己的邮箱账号,然后让我填写其他登记信息,我印象最深的是显示器上边贴着一个纸条,说:请离开的时候在此登记,否则会进入百度的黑名单(意思就这样,具体记不清了)。当时震惊了半天,没想到竟然这个严格。

和面试官进入大楼里面后,只记得的印象是:很整洁,高大。出楼梯后,脚踩着厚厚的地毯,稍微走快点,都感觉很松弛,脚下如踩棉花一样。

为什么有地毯,而不是地板砖————到了夏天很多漂亮的长腿美女穿着高跟鞋踩在地板砖上是一个怎么样的体验呢?噔噔噔……

我在等候区等到第一个面试官,然后我们简单聊了下 Android技术,其中有两点有必要提下:

  • 其中一点是:说说 View 的事件分发机制。然后我就说了好多,从 WindowManager->window->Decorview->子 view。最后我说当所有的 view 都不处理事件,事件会最后会传递到 Activity 的 onTouchEvent 上。然后面试官立刻说:『哈?你这是颠覆我的三观啊?』 然后我意识到可能有问题,但是记得 《Android 艺术开发探索》上确实写过到 Activity,但是不是到 onTouchEvent还真没底。面试官很自信的样子,让我颤抖了。但是随着我的坚信,面试官说:『不行,我不能冤枉你是不!』立刻在手边的 MBP 上看了一下,自言自语感叹道:『还真有啊!』 我顿时无语了。

  • 另外一点是:问我 Service 上能不能弹出对话框。对于这个问题,我印象最深刻了,记得一年前的时候,在另外一个公司就因为这个问题让我尴尬万分,回去后专门对这块进行补充。我的回答是可以的,但是面试官面带差异的表情告诉我这是不行的,Dialog 必须要依附于 Window 才能显示出来。然后我的解释会让面试官郁闷一会:我说这个是可以弹出的,我之前也专门试过,不过他弹出是有条件的。 条件是:

  • 必须在 Manifest 里面注册系统权限

  • 在显示 dialog 的时候必须要加一个 flag.

我的理由是:系统对话框可以在低电量的时候弹出对话框,我们同样也可以采用该方式来实现。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

结语

网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了上述安卓开发高级工程师面试题以及答案。希望帮助大家顺利进阶为高级工程师。
目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。

大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。

1307页字节跳动Android面试真题解析火爆全网,完整版开放下载

现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img
,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。

大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。

[外链图片转存中…(img-Cwe8DgM4-1712960886548)]

现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-YNhBhO9Y-1712960886549)]

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值