面试题android面试录

Keep面试经历

2018-05-03  本文已影响221人  hdychi

大街网上投的简历,其实我都没用过keep,在大街上投简历就是想找一些非大厂的公司尝试一下。结果面了还算是我所有面试当中最长时间的,虽然也没到一个小时,但我感觉问了好多。

一面

1、介绍一下做了什么项目
2、选一个最难忘的项目来介绍一下。我选了个自定义view的项目,然后疯狂问自定义view。我首先讲了下怎么实现功能的
3、怎么优化这个歌词滚动卡顿的问题
4、纵向滚动和横向滚动
5、对于OnDraw的操作
6、滑动事件
7、如果歌词文本大的话,比如小说要怎么处理?
8、有没有写过自定义布局(真没写过啊兄dei)?举个能用到自定义布局的例子?我答了个等分的,就把一个layout平均分成好几份的那种
9、如果是就平均分的这个layout要在哪些步骤进行操作?我答了onMeasure,onLayout之类的
10、ListView和RecyclerView的使用,它们这个滑动的优化。我主要是答了这个ListView和RecyclerView缓存的东西不同,一个缓存View一个缓存ViewHolder,绑定的问题、离屏缓存之类的
11、除了缓存之外还有什么?比如说一个ItemView过于复杂,有很多嵌套。我回答说何必要嵌套这么多层。。。
12、LinearLayout、RelativeLayout、FrameLayout的特点、咋用
13、如果说一个item它的图片过大的话咋整。我说可以用一些处理图片的第三方库有缓存。他又问如果直接Bitmap一个就很大怎么办,我说可以对图片进行压缩。他又问安卓有哪些可以进行压缩,我不记得了呀兄dei
14、继续回到listview,如果说itemview的类型不同咋办。这个当然是根据viewtype返回不同的viewholder了
15、单例有没有有过?
我举了个RetrofitProvider的例子,还有数据库的例子
16、单例有什么坑?
我说这个多进程通信的时候单例完全是废的。除此之外呢?我答了内存泄漏
17、刚才那种情况内存泄漏怎么解决?
我说非要持有的话就用弱引用把
18、软引用、弱引用、虚引用的区别
19、虚引用可以用在什么地方?
这个地方我愣住了,凉凉,其实可以答缓存的把
20、继续内存泄漏,还有什么情况内存泄漏?
我回答开了个线程,对UI持有引用了,Activit退出的时候把线程关掉得了
21、线程关不掉咋办?
我说我用的协程````直接把它intercept之后就没遇见过这个问题。这个应该不对,我不大清楚线程关闭的情况
22、有遇到过多线程的同步问题吗?
我回答就是多个线程对一个变量进行操作然后就烂了。问怎么解决,我说可以对这个变量加锁,或者对操作变量的代码块加锁
23、有没有数据类型是本身就带锁的。回答Atomic。还有吗?还有什么数据结构是线程安全的?我答了CocurrentHashMap。他又补充了几个。
24、开始Kotlin了。你刚才提到有用过Kotlin,觉得Kotlin好在哪
我答了函数式编程、扩展函数、内联泛型
25、他补充了下还有空指针呢
26、刚才提到有用Rxjava,有看过源码吗
27、还看过其他哪些项目的源码
28、Okhttp强大在哪
29、如果说你跳转了一个Activity,要刷新之前的Activity,怎么操作?
我回答了BroadcastReceiver,他说这是一种方式,还有呢?我就不晓得了,他说有一个框架可以做到,我现在愣是想不起来叫啥了
30、MVP、MVVM、MVC的区别
31、有什么问题要问我的吗

后话

可能还有其他问题,我忘了,就感觉问了很多,最后一个问问题我问凉了,本来想问对面试的评价的,结果他补了句对公司的疑问,我脑子一抽,问了你们在哪些地方有分部,呵,还暴露了我没用过Keep,作呀。居然过了到了二面。第一次二面。

二面

二面没问安卓,问的数据库和数据结构…我还以为我串岗了
1、数据库索引
2、为什么索引能快
3、假设id和name联合索引,能够查询名字小于一定值的吗
4、数据结构有了解吗
5、假设有两个数组,长度一下,有序,求中位数
6、 n个数,求其中k个最小的数,怎么实现
7、Hashmap原理,什么时候扩容
8、List的子类,遍历方法,是否线程安全
9、垃圾回收
10、要实现一段时间内ip地址的访问数量控制怎么办
11、事务的特点
12、数据库的锁有什么用
事实就是数据库这块我都忘得差不多了,全是瞎答的,惭愧惭愧。
最后还是过了,已拿offer。第一份offer!!!很值得纪念!

上一篇下一篇

猜你喜欢

热点阅读