2014 September 26

2015百度Android面试

个人面试经过,记录下自己此时的一点学习状态,鞭策自己继续去学习,一个优秀程序员和平庸程序员之间最大差异就是主动学习的态势。
2015.武汉站 移动端开发
从笔试到一二三面,感慨颇多,百度笔试比较难,二面之后看到试卷才50分。过了也是有些运气成分在里面。
整体来说,百度工程师文化很浓厚,无论你想不想去百度,好好准备笔试,去跟百度的面试官聊一聊,益处很大。后期我的面试都是抱着这种心态,反而觉得自己的状态好了很多,再次说明心态很重要。不过后来看过一些Blog说是百度的工程师文化目前被市场冲散了很多,具体有一些考证,不过相较腾讯和阿里面试而言,百度依然是我目前印象最好的。
笔试全是算法题和设计题,而且是高效算法,有时间复杂度和空间复杂度要求,属于极优算法。主要题目来自于剑指Offer和Creacking the Code Interview.
类似于相关的字符串子串查找,数组算法,链表问题都是非常重要的。貌似今年树方面遇到的问题非常少,主要集中在简单的二叉树问题。 另外:告诫自己一点,百度三面总监面的问题,传统开发和移动端开发的不同点,这个问题后期其他面试也问到了,实在是汗颜。

###一面 Time:85分钟
对比腾讯和阿里的半小时问题,百度实在是令人发指。问的很细很基础,每个问题都会进一步深挖,问到你不知道为止。百度看来只有你说不知道的时候,才能说明出你的水平到哪个层次。所以不要怕说不知道,相反躲躲闪闪,对于技术问题含糊其辞,我觉得可能相对而言却更不好把。当时在面试官就有很几个问题没记清楚,就很干脆的说他不知道,不是做这一块的,相反还请教了我,我想面试官也是把这个面试当作一个交流来看待的吧。真心的非常佩服这种气度,那一刹那感触很大。

核心知识点如下:

          *  JAVA知识特性  
          *  JVM,GC实现机制,有哪些可靠的。与GC,GC实现机制,哪些可靠的   
          *  classloader机制     
          *  Final关键字    
          *  Static关键字,用多了什么效果
          *  解释OOP,从设计的理念上说,不是说特性    
          *  设计模式相关,适配器模式,桥梁模式等等相关,如何用到   
          *  操作系统相关,死锁相关(操作系统没学过,这部分知识需要补充)  
          *  线程、进程、多线程  
          *  基本上每一个回答都会跟上面试官给出的,你考虑过为什么吗?为什么这么用?为什么这么设计?  

三次面试,都有设计理念的考验,无论是数据库,程序架构,还是功能模块。设计思想很重要;急切需要补充。

###二面 Time :50分钟
算法题:奇数偶数问题,乱序问题,奇数排在前偶数排在后面去,常规经典笔试试卷问,再次说明,笔试很重要!
你认为你笔试怎么样,哪些题目你没做好?现在你认为那个算法怎么样?
功能模块架构设计:
考虑一个发送HTTP协议的模块,一个模块存放着各种方法,其他模块通过调用该模块去请求数据,该模块发送HTTP请求,返回结果给其他模块。如何实现该模块,有啥想法?

###三面:技术Leader面(非HR面) Time:45分钟
全是询问你的想法,技术意见;因为是校园招聘,而且本人无移动相关开发经验,就问我如何考虑这个问题,按照你的理解,你怎么考虑移动互联网时代的理解?
数据库设计?
………
关于移动开发区别问题更新点:

  • 团队规模问题
  • 开发周期问题
  • 网络速率问题
  • 开放标准
  • 部署渠道
  • 用户体验——耗电、发热、流畅度

无论如何,面试过程收获实在是太大了,面试官相当于整体帮我梳理了知识结构.

下一篇
Loading Disqus comments...
Table of Contents