微派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是否在里面。两个二分查找。
全部评论
哥们,这么压力!
点赞 回复 分享
发布于 04-27 10:00 河北

相关推荐

梦雨雨:同学,瞅瞅我司,医疗独角兽~ 我的主页最新动态,绿灯直达,免笔试~
点赞 评论 收藏
分享
11-03 15:23
已编辑
合肥工业大学宣城校区 C++
先自我介绍 八股文:1. IO多路复用2. epoll水平和边缘模式(之前看过但是忘了没答上来)3. 虚函数位置,在类还是实例上(答错了,还问我是否确定,我坚定错误答案⊙﹏⊙)4. 移动语义、STL中是不是所有容器都支持移动语义5. TopK问题(之前学过快速选择算法,但是一回答就忘记了╯︿╰),如果用暴力搜索和时间空间复杂度是什么6. QTimer如何只触发一次(只记得一个shot,后面提示是否是singleshot才想起来)7. Qt视图可不可以关联多个Model8. 多进程、多线程通信9. 智能指针有哪些10. 线程同步、死锁排查方法11. 依赖注入项目:1. 写过设计文档吗?设计文档、方案设计文档怎么写(写过,回答了一些步骤)2. 对C/S架构了解(不了解。。。)3. 项目用了哪些设计模式(回答了单例、工厂、代理、观察者等)4. CPU跑满后你是怎么排查问题的(回答用VS的性能探测器)5. 数据库设计、优化会吗(回答了只知道基础的用法,就没往下问了)6. 如果界面交互后要实现某些功能,写在哪里(没听懂◑﹏◐)7. 内存泄漏怎么排查的?(回答用了VLD)8. 源码管理工具git熟悉吗(回答以前公司用的svn,对git不太熟悉)9. 其他就是项目技术实现等(回答的一般,可能解释不清楚)结果:面试官挺友好的,整个过程(1.5h)还算轻松。不知道算不算通过,以为结束了,但是两天后接到二面的通知了。
查看21道真题和解析
点赞 评论 收藏
分享
评论
3
25
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务