微派Android一面90min(挂)

9.25问了一下HR,已挂。
---------------
9.19面的,又泡着了,发面经攒人品。
八股盛宴,面试官的水平还是挺高的,而且有回应,体验很好。

1. 个人项目现在有多少用户?
2. 进程和线程区别
3. 遇到死锁怎么解决?
4. Java中实现多线程有哪些方式?
5. 有哪几种线程池?
6. 线程池比自己创建多线程有什么优势?
7. 使用线程池就不会销毁线程了吗?
8. 多进程通信有哪些通信方式?
9. 安卓进程间的通信方式(Binder)
10. Binder相比于Linux的进程通信方式有什么优势
11. 线程之间的同步方式。
12. synchronized的不同用法,锁的是类名.class和锁的是对象有什么区别。
13. 垃圾回收算法。
14. Java有垃圾回收机制,为什么还会出现内存泄漏?
15. 安卓发生内存泄漏的情况(没答上来,面试官举了个例:把一个Activity的匿名内部类传递给其他Activity,匿名内部类是会引用到外部类的,之前的Activity销毁后,其引用还存在于内存中)。
16. 看代码说输出(一个类,普通代码块、静态代码块、构造函数、静态成员方法、普通成员方法都有输出语句,分别调用静态成员方法和普通成员方法会输出什么)。
17. 类加载流程、顺序。
18. 看代码说输出:
Integer a = 10;
Integer b = 10;
System.out.println(a==b);  // 输出true
Integer c = 1000;
Integer d = 1000;
System.out.println(c==d);  // 输出false
(-127~128区间的数,Integer包装类不会生成新的对象,而是会从缓存取)
19. 用到过哪些数据结构(ArrayList和HashMap)
20. HashMap底层结构。
21. HashMap的扩容过程(我忘记有个装填因子了,没提到,答的不好)。
22. HashMap是线程安全的吗?
23. 为什么ConcurrentHashMap不直接在添加元素的方法上加锁。
24. ArrayList和LinkList插入元素的时间复杂度。
25. LinkList插入的时间复杂度一定是O(1)吗?
26. HTTP和HTTPS的主要区别。
27. HTTP1.0和HTTP1.1的区别。
28. TCP和UDP区别。
29. IPv4和IPv6的区别。
30. 做项目的过程会用到网络相关的东西吗?
31. Activity启动模式。
32. Activity启动流程。
33. Handler原理。
34. 消息队列阻塞之后又来了一个消息,它怎么知道这个消息来了呢?(不会,面试官说我可以看看nativePollOnce和nativeWake)。
35. Jni中JavaVM 和 JNIEnv的关系。
36. WPS热更新具体是怎么做的?(Json描述页面)
37. 除了这种方式,还有其他的热更新方式你们有考虑过吗?
38. 如果一个页面只改动一个TextView的一个属性,那还是会请求整个页面的Json吗?(会)
39. 你觉得还有没有可优化的地方?
40. Android默认的ImageView是一个方形的,如何实现一个自定义的圆角ImageView?
41. 了解过音频的编解码吗?(自己的项目写了音频相关的,但是忘了
42. 音频为什么要编码?
43. 平时如何学习的?
44. 实习过程中遇到的最有挑战的问题?
45. 算法:二维数组每行每列都按非严格递增排列,找target是否在里面。两个二分查找。
全部评论

相关推荐

评论
3
21
分享

创作者周榜

更多
牛客网
牛客企业服务