美文网首页@IT·互联网面试Android面试
百度、今日头条、新东方、滴滴社招安卓面经

百度、今日头条、新东方、滴滴社招安卓面经

作者: 6b440373157d | 来源:发表于2018-06-22 14:19 被阅读272次

    楼主去年本科毕业,双非学校,之前一直在小公司。有幸得到百度、头条、新东方、滴滴的面试机会,头条和滴滴是内推的,百度和新东方是自己投递的。大家可以使用Boss直聘,虽然Boss直聘之前出过人命,但这并不影响求职者找工作,bat、tmd等各大公司都在Boss直聘上招聘。下面给出面试题,有些问题已经忘记了。文章比较长,文末会给出面试题的答案链接。虽然有答案,但我并不建议面试者盲目背面试题,大部分的面试官实际上是根据简历上写的技能来问问题的,也就说简历上写的技能必须熟悉。

    一、百度

    一面

    1、LeetCode原题,两数之和。

    2、介绍下装饰模式?如果被问到你不熟悉的设计模式,可以跟面试官说熟悉另一个设计模式。

    3、线程池的定义、使用方式、启动策略、拒绝策略。ThreadPoolExcutor构造方法七个参数的含义?

    4、ArrayList的LinkedList的区别?

    5、一个activity启动另一个activity会走哪些生命周期?

    6、activity的启动模式。

    一面就记得这么多了,一面还是很顺利的。

    二面

    1、如何提高反射的效率?

    2、HashMap的实现原理。

    3、ConcurentHashMap的实现原理。

    4、Java的四大引用。

    5、如何判断一个对象是否存活?

    6、在java中可以作为GC Roots的对象?

    7、垃圾回收的四种收集方法。

    8、WebView的常见漏洞。

    9、Handler机制。

    10、主线程中的Looper.loop()一直无限循环为什么不会造成ANR?

    11、View的绘制机制。

    12、如何使用注解解析器(APT)?

    13、RxJava的链式调用的执行过程。

    14、热修复的实现原理。

    15、插件化的实现原理。

    16、熟悉红黑树吗?如果熟悉,手写代码,写出红黑树添加节点的过程?(立即说不熟悉)

    17、手写单例模式,双重检查(double check)。

    二面明显加大了难度,印象比较深。

    三面


    三面部门领导跟我谈人生,这就不说了。

    三面下来几乎没有谈项目,就是根据简历上的专业技能问你问题。

    二、新东方(是新东方教育,不是新东方厨师呀,新东方厨师的广告跟挖掘机一样,打得非常响亮)


    一面


    1、ActivityA启动另一个ActivityB会走哪些生命周期?销毁activityB会走哪些生命周期?

    2、activity的启动模式。

    3、Handler机制。

    4、Handler发送延迟消息的原理。

    5、网络优化。

    6、内存泄漏和内存溢出的区别?

    7、事件分发机制。

    8、LRUCache的原理。

    9、Glide的实现原理以及缓存机制。

    10、OkHttp的实现原理。

    11、介绍下RxJava的常见操作符。

    12、布局优化。

    13、Activitiy、Window、View三者的关系。

    (这个问题可大可小,最好能够将Activity的启动流程以及Activity的窗口机制都说出来)


    二面


    1、个人觉得做得做好的项目是哪个?

    2、WebView的常见坑。

    3、WebView性能优化。

    4、WebView常见漏洞。

    三、头条

    一面


    1、ScrollerView、WebView、RecyclerView三者嵌套,如何解决滑动冲突问题?

    2、WebView与JS的交互方式。

    3、WebView的常见漏洞。

    4、可以在Application里面启动Activity吗?

    5、Activity的启动模式。

    6、onNewIntent方法什么时候执行?

    7、ActivityA的启动模式为SingleTask,离开ActivityA后再次回到ActivityA,在ActivityA的onResume方法里面调用getIntent方法,能不能获取到最新的intent?

    8、启动优化。

    9、如何分析ANR?(ANR产生时,系统会生成一个traces.txt的文件放在/data/anr/下。)

    10、常见的内存泄漏。

    11、LeakCanary的实现原理。

    12、RxJava的链式调用过程?map操作符和flatMap操作符的区别?

    13、binder进程间通信。

    14、Serilizeable和Parcelable的区别?

    15、使用Serilizeable序列化的时候,有一个序列化id,它的作用是什么?

    16、事件分发机制。

    17、获取控件宽和高的方法。

    四、滴滴

    滴滴共经历了5轮面试,三轮技术面,二轮hr面,hr面就不贴出来了,很多面试题忘记了。

    1、handler机制。

    2、onCreate方法里面有三行代码,第一行代码是打印a,第二行代码调用handler的post方法,在run方法里面打印b,第三行代码是打印c,请问abc的输出顺序是什么?

    3、子线程中引用了一个变量,Activity退出的时候,引用的变量能否被回收?

    4、WebView的内存泄漏。

    5、热修复的实现原理

    6、内存优化、启动优化、布局优化、电量优化、网络优化、Apk瘦身。

    7、使用过注解写一些框架吗?(使用注解 反射来实现findViewById,使用注解 APT来实现findViewById)

    8、ActivityA启动ActivityB后,ActivityA如何获取ActivityB的实例?

    9、WebView的常见漏洞。

    10、构造者模式。

    最后给出面试题链接 http://note.youdao.com/noteshare?id=766bc008ecf0af82c8240fb89073f77d

    好记性不如烂笔头,你如果使用了有道云笔记,就可以直接保存到自己的有道云笔记中。笔记如有错误,还请海涵或者告诉我哪里错了。

    简历书写技巧https://mp.weixin.qq.com/s/lIilkXXAhC9efTuARjQlyA

        楼主预计在7月3号入职滴滴,近期想在中关村地铁站或者西二旗地铁站租房,目前还没有找到合适的,有想一起合租的吗?我们也可以几个人一起整租,可以加我微信peiyunfei1027282775。

    点击作者姓名与作者大佬交流~

    作者:义薄云天小关羽

    来源:牛客网(www.nowcoder.com)

    - 互联网名企笔试真题

    - 校招求职笔经&面经

    - 程序员/产品/运营求职实习信息

    - 程序员/产品/运营学习交流社区

    相关文章

      网友评论

      本文标题:百度、今日头条、新东方、滴滴社招安卓面经

      本文链接:https://www.haomeiwen.com/subject/hhloeftx.html