百度Android开发面经(共三面)

今天早上现场面的,一共三面,由于问的问题确实太多了,所以有些遗漏,把记得的问题记录了下。每面差不多一小时。

一面:

1、聊项目

2、MVP模式的优缺点

3、图片压缩怎么做

4、图片缓存怎么做,解释LruCache算法

5、http协议

6、常用的排序算法,时间、空间复杂度

7、常用的设计模式

8、java中多态的表现

9、抽象类和接口的异同。

10、android 7.0和android N分别新增了什么内容?

算法题:字符串数组(可能很大)按字典序排序,不能用现有的类库。

二面:

1、自定义控件的基本流程,每一步具体做什么

2、介绍http协议,http的常用请求头,OkHttp的优点在哪?

3、android中多线程怎么处理,handler机制

4、多线程下载文件;多个线程写同一个文件和多个线程分别写单独的文件然后最后合并这两种做法的区别在哪?那种性能好?有什么更优的方法吗?

5、断点续传文件怎么做?

6、android中的性能优化,布局、内存等

7、android中出现内存泄漏的原因,怎么发现?

8、解释OOM的原因,如果当前应用可用内存为20MB,而目前只用了10MB,请问这种情况有可能会发生OOM吗?

9、android中的跨进程方式,binder原理,数据要拷贝几次?android为什么要设计跨进程?

10、sleep()和wait()的区别

11、为什么要使用设计模式?

12、多线程访问单例(双重锁写法)会存在什么问题?怎么解决?

13、项目中遇到的困难。

三面:

1、聊了很久项目,分析项目的难点、核心技术。

2、使用SharedPreferences的get和put方法读写数据会面临什么问题,IO性能方面怎么解决?

3、一个应用如何发现当前局域网中别的也开启了这个应用的设备?

4、android中CRASH和ANR的区别在哪?

4、android中ANR是怎么发生的?系统又是如何发现有应用ANR的?

5、普通for循环和增强for循环的区别,以及使用的场景。

6、http2.0新增了什么内容?

7、当需要加载一个类时,在当前classLoader中没有找到该类会怎么样?(双亲委派)如果最后也没找到呢?(抛出异常ClassNotFound)抛出异常后又会怎么样?

8、解释AtomicReference和compareAndSet。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

理解Go语言Web编程(下)

ListenAndServe函数 前面所有示例程序中,都在main函数中调用了ListenAndServe函数。下面对此函数所做的工作进行分析。该函数的实现为:...

77060
来自专栏友弟技术工作室

MongoDB简易教程mongo简介及应用场景安装和使用mongodbPHP中操作mongo数据库python中操作mongo数据库

传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而...

47160
来自专栏人工智能LeadAI

今天不如来复习下Python基础

01 python是什么? Python是一种解释型语言。这就是说,与C语言和C的衍生语言不同,Python代码在运行之前不需要编译。其他解释型语言还包括PH...

42650
来自专栏编程思想之路

WiFiAp探究实录--功能实现与源码分析

Android虐我千百遍,我待Android如初恋。 ——————编辑于2017-08-02——————— wifi热点说的是wifiAp相...

1.8K90
来自专栏用户画像

第31章 配置链路聚合

190. 在S3610 交换机上创建包含有端口Ethernet1/0/1,ID 为2 的聚合端口,其正确命令是_____。B

11410
来自专栏逆向技术

内核开发知识第二讲,编写Kerner 程序中注意的问题.

什么是函数多线程安全. 简单来说就是 ,一个函数在调用过程中.还没有返回的时候.再次被其他线程调用了.但是函数执行的结果是可靠的.就可以了说这个函数是安全的.

10830
来自专栏Java技术交流群809340374

史上最全Java面试266题:算法+缓存+TCP+JVM+搜索+分布式+数据库

36900
来自专栏编舟记

Clojure component 设计哲学

Component 是一个微型的 Clojure 框架用于管理那些包含运行时状态的软件组件的生命周期和依赖。

10700
来自专栏PHP在线

PHP 面试知识梳理

算法与数据结构 BTree和B+tree BTree B树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉...

51060
来自专栏腾讯Bugly的专栏

《Android 创建线程源码与OOM分析》

| 导语 企鹅FM近几个版本的外网Crash出现很多OutOfMemory(以下简称OOM)问题,Crash的堆栈都在Thread::start方法上。该文详细...

1.2K50

扫码关注云+社区

领取腾讯云代金券