当前位置: 首页 > 面试经验 >

最新百度Android开发社招面试(一二三面已过)

优质
小牛编辑
164浏览
2023-03-28

最新百度Android开发社招面试(一二三面已过)

一面(~45min)

1.什么是内存泄漏?Android里内存泄漏的场景及其原因

2.JVM的GC过程,GC的算法都有哪些

3.进程和线程的概念,Android里怎样实现多线程?(Thread Handler AsyncTask IntentService等等)

4.Handler的原理和使用

5.Handler是怎么和线程绑定的(Looper),为什么Looper.loop()要设计成死循环

6.Java的几种内部类,区别是什么

7.Activity的生命周期和启动模式

8.介绍项目,讲述一下实习的工作内容和感想

9.写题:二叉树的右视图(层序遍历即可)

一面比较短,问的问题也比较基础,面完等了大概30分钟后就开始二面了)

二面(~1h+)

1.介绍项目,为什么要自学安卓

2.Android如何实现多进程,应用场景是什么

3.Android的IPC机制(Binder)是否了解

4.如何用两个队列(FIFO)实现栈(FILO)

5.HashMap和HashTable区别,HashMap原理和实现,hash()的算法

6.如果自己设计hash算***怎么设计,为什么(答的素数取余)

7.String的hashCode()和Object的hashCode()

8.虚拟内存和物理内存的概念和关系,内存分页的调度算法

9.怎么实现LRU缓存

10.可以自己写一个java.lang.Object类吗,系统会加载哪一个

11.Java里泛型的实现

12.了解常见排序算法吗,手写一下快排

13.Java里加锁的方式,synchornized关键字的原理,悲观锁和乐观锁都有哪些实现

14.死锁的条件和解决方法,讲讲银行家算法

15.TCP的三次握手四次挥手,为什么要四次挥手

16.TCP的流量控制算法(滑动窗口),拥塞控制算法

17.怎么解决用户高频点击打开新Activity导致的多实例问题(Activity启动模式)

18.怎么判断两个无环单链表是否相交

19.反问

(二面问题量非常大,集中在Java/OS/算法,没有特别难以回答的问题,认真准备的话大部分都能答出来。面试官还蛮友好的,会给一些提示和引导)、

最后针对岗位了解聊了几句,面试官对岗位的定位做了个简单介绍,也询问了我的未来的发展方向,之后让回家等通知了,等了四天才通知我二面过了。

三面(~45min)

1.介绍一下项目相关内容(项目简介、重难点、成果

2.是自学的Android吗,为什么选择这个方向,有没有什么经验给同样想自学的学弟学妹

3.RecyclerView怎么实现的item缓存,跟ListView有什么区别

4.设计题:微信的联系人列表功能

(1)设计添加联系人的API(从可能的方式,数据形式,接口参数方面回答)

(2)怎么实现联系人列表的UI(答的RecyclerView)

(3)怎么实现A-Z首字母的快速定位功能

5.反问

(三面的问题不多,大多是开放性问题,没有标准的答案,难度高于一二面,主要还是体现你的思考和项目经验)

————————————————————

总而言之,除了刷题,充分熟悉简历、积累项目也很重要、

平时也要注意多学习、多积累、多提升,才有可能去更大的平台。希望这篇贴能够帮助到有需要的人,最后也祝大家求职顺利。

#Android##百度##安卓工程师##android##面试题目#
 类似资料: