大厂面试题

阿里UC:

dvm和jvm的区别

class文件和dex文件有什么区别

虚拟进程空间,用户空间和系统空间分别是做什么的

http和https的区别,https是怎么认证的

binder机制

stackoverflowError和OutOfMenoryError如何发生的

retrofit实现,使用场景

okhttp和retrofit的区别

httpurlconnection,httpclient, 和okhttp的区别

handler,message,thread, messageQueue, Looper 之间的关系

虚拟机内存如何划分的?

gc机制和对应的算法

app启动过程,ActivityThread相关

如何跨进程访问

如果传递大型数据

项目主要做什么,最有成就的是做了什么?还有优化的空间吗?如何优化?

以后想怎么发展,自己还有什么可以提升的空间

美团(北京)

1、两种序列化的差异;

2、安卓打包流程;

3、wms框架,gc的原理;

4、内存优化的方式;

5、anr如何分析;

网易(北京)

候选人A

  1. int a=123 转换成 321;

  2. 网络缓存最适合用哪种数据结构;

  3. hashmap原理;

  4. 性能优化冷启动;

  5. 单例模式懒汉式怎么保障单例模式;

6.adapter公共类怎么实现;

候选人B
1.网易面了两轮技术面,一共1小时左右

2.第一轮技术面,问的比较基础;第二轮技术面,问得比较深入,还要求用笔写下来:
基础技术点: view的事件响应

手写技术点:

1 反射机制的原理与实现手写例程。

2 注解的应用及例程。

3 json解析的各优缺点与区别

3.二轮面试官语速比较快,比较严格,男的,问了一下目前薪资和期望薪资,然后让等HR消息。

4.网易的面试深度相对还可以,但是要求技术点要非常熟练。

蚂蚁金服:

第一轮电面:httpurlconnection,httpclient, 和okhttp的区别
handler,message,thread, messageQueue, Looper 之间的关系

安卓页面是如何绘制的

了解程序加锁的几种方式

Android中SyncTask的使用相关

gc回收机制

其它比较熟悉哪些前端的知识:比如kotlin,js,小程序 eg.

自己写过网络框架么,如何实现的

数据库遇到哪些问题,如何解决的

UC国内用户组

1.怎么做耗电优化

2.导致耗电的操作有哪些

3.怎么做内存优化,举例你优化过的案例

4.导致内存泄露的原因,案例

5.怎么做网络优化

6.动态加载的原理

7.谈一个你做过的项目的总体架构,为什么这样设计,针对这个深入提问

8.什么时候可以考虑代码重构

9.代码重构要注意什么

10.你重构、优化过的模块,深入提问。

11.你在联运主要负责什么

12.怎么优化sdk的大小,性能,内存