写点什么

人都傻了!看完这份字节跳动师兄给我的程序员面试笔记,只能说一句牛啊

用户头像
Android架构
关注
发布于: 10 分钟前

8.强化 android 优化方面

二面

1.工作相关,强化工作相关项目


2.android 性能调优



今日头条

今日头条问的都是网上能找到的。好几个问题都是网上面经的原题,所以刷面经很重要。

一面:

一面主要是问了 Android 基础、Java 基础和数据结构算法


1、软引用和弱引用的区别


2、1 亿个数中找出最大的 100 个数。回答了可以建一个小顶堆,然后问如何建小顶堆以及如何维护小顶堆


3、Bitmap 加载过程中 OOM 了怎么办?回答了可以压缩图片,然后问具体怎么压缩?如果有一张很大 size 的图片需要加载到手机里怎么办?回答可以局部加载。


4、有了解什么是 IntentService 么?


5、Activity 的几种启动模式有了解么?各自的含义是什么?


6、TCP 和 UDP 的区别,以及简单说了一下 TCP 三次握手协议


7、手写单例模式


8、除了 Lru 缓存算法,你还知道哪些缓存算法?

二面

二面面试官是百度 t6,主要问了项目相关的问题,也问了一些 Android 基础和算法数据结构


1、1 亿个 url 存在文件中,里面有重复的 url,请问怎么去重?题外:这道题给人的感觉就是这个面试官只会抄网上的题目来“考”面试者,而不是真的用心去了解面试者的 Android 能力水平,网上这样的“海量数据”处理问题已经被问烂了,而且平时 android 开发中间几乎很少用到,面试者能答上来无非两者:1、刷过面经;2、真的会“海量数据”处理的大牛,但是 Android 中是后者的几乎没有,所以这道题没有任何意义,完全就是面试官照抄面试题的应付而已。


2、2*8 的最快运算是什么?考察点是位运算,但平时工作中几乎很少“2<<3”这样写,原因是没有必要,因为编译器早就做过这方面的优化。


3、讨论了一下热修复相关的问题


3、一个 listview 很卡顿,让分析一下其中可能的原因和你碰见这个问题如何动手解决。算是相对比较发散思维的问题,应该能从一定角度反应求职者水平。



高德:

一面

1、cpu 的唤醒,cpu 休眠会停止线程 xxx


2、线程同步 synchronized,volatile 关键字的用法


3、怎么停止一个线程,waitxxx 有用吗?


4、静态内部类引用外部类怎么解决引用问题


5、for 循环…的线程同步问题


6、c 里面 static 关键字的用法


7、include 头文件两种方式的区别


8、弱引用和软应用的区别


9、Dalvik 和 ART 虚拟机的区别


10、Java 虚拟机什么时候进行 GC,Android 虚拟机呢?


11、弱引用和软引用的区别?各自的使用场景是什么

二面

1、n 个元素的集合一共多少个子集


2、view 的事件传递机制


3、我们的应用的架构


4、静态内部类访问外部类的做法


5、RxJava 和 EventBus 的区别?好奇怪


6、okhttp 访问线程池的问题



小米

小米 hr 要求每轮面试都必须有一到两个算法题,所以算法和数据结构也是不能放。

一面

一面主要就围绕着我的项目里的展开的讨论,也问了很多 Android 基础问题。


1、handler 的机


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码



2、RxJava 的好处


3、EventBus 的内部实现原理是什么?


4、什么是内存泄露,如何分析?MAT 和 LeakCanary。MAT 和 LeakCanary 的各自优缺点是什么?


5、有哪些常见的内存泄露的原因


6、算法:1)求最大连续子序列之和。2)遍历输出一个文件夹中的所有文件(递归)


7、手写单例模式,单例的使用场景有哪些?

二面

1、算法:非递减序列求个数,例如 1、1、2、2、3、3、3、3、4、7、8、9、9、9,input:3,output:4



网易

笔试:

1、一个类中声明 private static Bitmap 会引起什么问题,主要考察的是内存泄露


2、Activity 的生命周期,主要考虑异常情况


3、ScrollView 和 Listview 的区别?好奇怪的问题


4、两个有序数组 a[n]和 b[m],合并成一个有序数组并放入 a 中,a 数组开的存储空间保证能放下 a 和 b 中所有元素,如何实现效率最高?

面试:

1、listview 的卡顿分析和优化


2、listview 加载图片会有什么问题,如果引起图片错位是什么原因导致的?怎么解决?


3、自己设计一个 Picasso 应该考虑哪些方面。图片缓存(DiskLruCache,LruCache)、压缩、listview 导致的错位、线程池的数量等

其他的一些小 tips

1.尽量避免主观表述,少一点语义模糊的形容词,尽量要简洁明了,逻辑结构清晰。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
人都傻了!看完这份字节跳动师兄给我的程序员面试笔记,只能说一句牛啊