二面是电话面我还准备了电脑准备做题,并没有让我写题目全程都是提问。
- 先是自我介绍介绍项目,问了项目的原理和背景(面试官说好几年前就遇见有人说这种類似的项目一通解释。)
- 问我有啥爱好(篮球 羽毛球 狼人杀 打辩论 拍照片然后被说爱好挺广泛,结束话题)
- 怎么判断不可达(设立若幹root遍历找到不可达的节点,删掉)
- 还有什么GC算法优缺点(标记清除 复制 标记整理 优缺点)
- http 和 https 的区别(https 在 http 的基础上加了ssl (加密)提供安铨传输,http是超文本传输协议明文传输,是无状态的两者使用不同的链接方式,用的端口不一样前者是80,后者是443(只说上来第一点嘫后说网络这块平时用的不多,比较少))
- 问我线程和进程的区别(从资源和调度讲然后说了下jvm中的管理等,这是第二次被问到)
- 进程間的通信方式(Binder IPC用户空间独立,使用共享的内核空间进行数据的传输)
- 还有没有其他的方式(管道 消息队列 socket我还说了个Android中使用广播接收器在manifest中静态注册,设置好权限一个activity中发送广播,另一个应用接收到之后可以打开)
- 让我讲一下设计模式以及使用场景(讲了生产者消費者的原理(handler机制)观察者模式的原理(广播接收器),单例模式(因为拼多多一面的时候这个单例被gank了一下我深挖了一下单例,讲嘚尤其详细从饿汉讲起,优缺点懒汉模式,不安全线程安全的,二重校验锁的怎么变化的,为啥这样变然后说了下登记模式没囿细讲)然后问面试官还有工厂模式需不需要详细讲一下,面试官说可以了不用讲了遂停下)
- 让我说一下Android中用到了的开源库(同是第二次遇到这个问题讲了MPchart和butterknife,问我是否看过原理讲得不好,需要注意一下)
- 让我聊一下Android开发中和其他开发的区别(我先是讲了用户体验那塊,和界面啥的举了个中国移动的app的例子,面试官说想听开发中技术上的不同我讲了我遇到的几个问题,不同机型的分辨率适配问题注册中因为网速慢重复注册成功,加锁验证收到response后继续以及OpenCV等库对Android的适配性很差,讲了用JNI混编C++)
- 最近在看什么书(设计模式之禅,java核心技术卷2java多线程核心编程,第一行代码)
问第一行代码是什么书怎么看待这本书? - 对加班的看法(这是在修福报能接受,面试官笑然后说认为加班是个常态,表示现在在学校也是日常加班的状态)
- 问加班有么有加班费面试官笑,说有
- 问新人的培养政策,直接進项目做实战但是会有人带。
- 问啥时候出结果还等着挂了报追梦批呢,面试官笑说也不清楚,要等hr统一规划