北京 | 移动互联网 | 天使轮 | 20-99人
婚恋圈
婚恋圈面试经验
面试职位:同花顺-Android-杭州
1、易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
你熟悉哪些设计模式?
(答的单例,Builder,abstract工厂,策略,适配器,代理)
单例用了面向对象的什么特性?
(封装。。。)
你会写几种单例?
(这个问题答的还算不错,总共回答了4种写法,前段时间刚好做了总结,详情可以看博客 单例模式学习总结)
线程有哪几种实现方式?
(一直没懂他问的是什么意思,事后想想可能是想问 1. 继承runnable 2. 继承Thread 3. 利用线程池 )
面试结果: 未通过
面试难度: 有难度
整体感受: 很好
面试职位:百度-Android-北京
一面(3.9 19:00-20:00)一位面试官
自我介绍
主要问了项目相关的一些问题用到的技术
还有就是安卓基础
view事件分发机制
ArrayList和LinkedList的区别
安卓消息传递机制
hashMap底层实现原理
activity正常情况下生命周期和异常情况下生命周期 等等
二面
自我介绍
项目经历
安卓四大组件 service分类、功能
然后主要就是第一位面试官问我计算机网络相关知识
计算机体系结构
每层对应的协议
https和http的区别
http1.0和http2.0的区别
https发起请求到响应的流程(加密过程)
TCP/UDP区别等等
第二位面试官问的我就是简历上的一些东西
操作系统有哪几种 hibernate ajax等
面试结果: 感觉靠谱
面试难度: 有难度
整体感受: 很好
面试职位:大疆-Android-深圳
1.自我介绍
2.应用启动流程,activity 启动流程,为什么要每个应用有一个自己的虚拟机,这个虚拟机和JVM的关系。
3.hashmap的基本原理
4.来说一说,在5.0以上和4.0加载dex时的方式有什么区别?
5.说一下你了解的Android虚拟机有哪些?
6.这两个虚拟机有什么区别吗?(上题说了ART虚拟机,dalvik虚拟机)
7.Handler持有Activity的引用会造成内存泄漏,那么如何避免?
8.ANR 的原理说一说
9.三次握手,四次挥手简单说下
10.okHttp的原理了解吗?使用时是如何对它封装的?
11.http和https什么区别?
12.算法题:双链表反转
二面
1.一分钟自我介绍
2.说说你工作经历中最满意的项目
3.能画一下这个项目大概是架构图吗?
4.最困难的点是什么,怎么解决的
5.做过哪些性能优化呢?
6.耗电优化是怎么做的7apk编译打包流程 V1,V2 签名区别
8.如果一个app无法访问网络,你怎么做数据存储。
9.handler中loop方法为什么不会导致线程卡死,动画的原理,有没有实战过补间动画;bugly上面收集到的最难的bug是怎样的,如何解决的?
10…React Native跟原生开发的优劣
面试结果: 感觉没戏
面试难度: 有难度
整体感受: 一般