您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    一个五年 Android 开发者百度、阿里、聚美、映客的面试心经(5)
    时间:2017-03-11 09:00 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    进入百度的大楼后,两个入口都设有刷卡机。在空闲区等了好一会,然后一个人带我进入大厦。在进去之前,到前台那块面试官输入自己的邮箱账号,然后让我填写其他登记信息,我印象最深的是显示器上边贴着一个纸条,说:请离开的时候在此登记,否则会进入百度的黑名单(意思就这样,具体记不清了)。当时震惊了半天,没想到竟然这个严格。和面试官进入大楼里面后,只记得的印象是:很整洁,高大。出楼梯后,脚踩着厚厚的地毯,稍微走快点,都感觉很松弛,脚下如踩棉花一样。

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

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

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

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

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

    在显示 dialog 的时候必须要加一个 flag. 我的理由是:系统对话框可以在低电量的时候弹出对话框,我们同样也可以采用该方式来实现。

    面试官语塞,然后给我说 Dialog 是必须要依附在 Window 上,Toast 其实也是一个 Window。我听着这些话,就想起以前看过的一篇文章上也确实是这么说的。估计该面试官回去要好好补充下一些知识了哦。 然后该面试官让我不能用 Arraylist,用数组 写一个队列。这块刚好我在之前项目中特意用了一下,写的时候,主要有三个方法: put(), get(),peek(). 然后考虑下队列的特性,一端进入,一端出去。我当时遇到了盲点,没怎么写完,最后给面试官说了下思路,大体是对的。但是关于选择位置那块没怎么想好。不过这不阻碍我进入第二轮。

    第二轮面试的时候,面试官带了很多纸张,我瞬间压力山大,知道不太妙。不出所料,这个面试官,从动画实现原理,到 handler 实现原理,一步步深入各种原理,当我感觉回答的不错的时候,然后他就顺着我的问题继续深入。我只能说我尽力了,有些东西,平时开发的时候真心不注意,但是就因为没有留意,所以就没法继续回答他的问题。

    面试官把我带出大厦的那一刻,我心情很不好,很可惜没进入百度,之后应该需要准备很多东西。我要说,我还会再来的,哈哈哈! 最后也归还身上的一个牌子到前台后,省的被拉入到黑名单(好吓人的样子)。

    以后有时间多看看原理性的东西,最好整理一个自己的博客,写上自己的一些看法和感悟,这样记得最深刻。即使几年后也不会遗忘,如果只是看看别人总结的东西,也许有一天你就会模糊。

    关于博客可以使用 Hexo, 我的博客也是如此,可以整理一些自己的东西与心得。

    2.阿里

    这次去的是一个阿里的高德部门,在望京 Soho 附近的 首开广场。去了以后首先找厕所,你们知道么?厕所竟然从大厦楼层的的一个角转了一大半圈才找到,回来后进入找不到前台了…… 瞬间无语了。问了好一个美女才回到前台,然后接待我的 HR美女貌似等得不太耐烦了(宝宝心里苦,厕所好远,都找不到回来的路了)。在一个小型会议室等待面试官,看了下布置氛围和环境,感觉太棒了,很多东西都体贴入微。

    回顾上次阿里的悲痛遭遇
    其实这是我第二次来这边面试了,上一次过来的时候,是刚过完年。提到这里我就苦不堪言,为何如此说呢?当时是2016年2月15日,因为我参加好朋友的婚礼(不得不说,我这个年纪的人都开始结婚了,这次回去有4个好朋友都结婚,可想而知,一场完了以后还有另一场,虽然累,但是值得)推迟了好几天才回北京,在参加同学婚礼的时候接收到阿里高德部门的面试邀请。回到北京的当天是12点多,然后回家,一个关系非常好的朋友说今天她们要宴请公司的人吃饭,因为她们结婚了,让我帮忙弄个 MTV。我想这是朋友的终身大事,因此必须要好好干。
    我下午4点是阿里高德的面试,因此时间很紧促。我凭借我大学的技能在两个小时内搞定这个 MTV,总体来说还不错,就迅速发给朋友,弄完已经3点了,然后打车立刻去首开广场。
    高德的面试是4点钟,匆匆赶到后,就等待面试官。面试很不理想,因为什么都没有准备,而且心力憔悴。面试官问的是一些基础的 Java 问题,很可惜我没怎么回答好。于是就深深的浪费了一次机会,之后和朋友提起此事,无比后悔,当时其实是可以和 HR 电话再约一个时间的。这次对我的打击很大很大,因为这是我这么多年第一次面试 BAT 的职位,一上来就受挫,很不是滋味。我在这里失利后我就各种准备资料,增强自己的能力,面试前必须要刷题,虽然简单,但是不失为一种方法,虽然不一定有用,但是会加深印象,尤其是去 BAT 这些公司,一定要准备好,否则就别浪费机会,这就是我的教训和经验。为了6月份的这次面试策划了很久。以前对什么可能都不是很上心,但是这个事件深深的刺激我了。

    第一个面试官来了后问了一些基本问题,很顺利就进入到第二轮面试。

    第二轮也基本是技术面试,问了一些 Android 基础和 Java 基础以及内存管理。

    第三轮的面试官应是部门负责人,看起来很好说话的,问了一些经历和基本情况后,问我薪资要多少以及之后的发展方向。我说要合适的薪资,之后希望在架构方面发展,但是也可以从业务开始。貌似这里回答的不怎么好。然后让我留了他的联系方式,我知道很有戏哦。

    (责任编辑:admin)