2020年Android面试题目总结和经验之谈

菜虫给我留念学习mark

2020年Android面试题目总结和经验之谈

菜虫大佬催我上进

@北京_陈桐 jvm,线程与锁(synchroinze与lock,偏底层),hashMap原理碰撞扩容(建议反复看源码),view绘制流程(非自定义view),handler(底层+Threadlocl),进程间通信(aidl、binder原理机制(mmap)),面向对象6大原则,设计模式、高性能编程,优化,算法

  1. 百度面试
    1.1 jvm加载原理
    1.2 全局变量和局部变量区别
    1.3 方法锁和静态锁的区别
    1.4 子类继承父类,子类和父类里面都有静态变量,构造方法,普通方法, 当jvm加载的时候是如何执行的
    1.5 handler机制,本地线程是用来干嘛的
    1.6 单例模式的几种写法
  2. 完美世界面试
    2.1 16位字节变量都有哪些
    2.2 死锁是什么,举例
    2.3 静态变量锁和方法锁的区别
    2.4 事件分发,dispatch和intercept和ontouchevent是如何执行的, onTouchEvent是如何执行的
    2.5 场景1:addView方法加载A布局然后remove(A),然后addView(B布局)方法执行 场景2:addView方法加载A然后addView(B), requestView方法在场景1和2分别是如何执行的, 各自执行效率如何
    2.6 布局A经过scale进行属性缩放, 缩放之后y轴对应的点坐标有没有变化
    2.7 都用过哪些布局,constentLayout用过吗
    2.8 int变量位移几位,如何执行的
    2.9 utf-8和Unicode编码区别
    2.10 数组和链表区别
    2.11 rxjava中map和flapmap区别
    2.12 constraintLayout用法
  3. 腾讯音视频部门面试
    3.1 viewGroup和view的onDraw方法区别
    3.2 recycleview的缓存机制,item不可见时是否会执行onBind方法
    3.3 requestLayout、measureLayout、invalidate区别
    3.4 图片压缩加载
    3.5 sql语句left join和right join区别
  4. 百度车联网面试题
  5. 项目中的设计模式,对设计模式怎么理解的
  6. 进程间通讯
  7. 单例模式双重校验机制
  8. 内存优化
  9. jvm相关
  10. ANR相关
    度小满面试:
  11. 线程间怎么通信的
  12. 怎么做的webview
  13. 算法:输入一个整形数组和一个target值,输入数组里面两个数,两者之和等于target
  14. hashmap怎么实现的 拓展大小机制是什么样的?
  15. 图片压缩:宽高压缩和质量压缩;
  16. 讲一讲https的ssl
  17. 构造方法可以被复写吗
  18. static方法可以被复写吗
    oppo面试(小游戏部门):
  19. 进程间通信哪些,binder机制底层
  20. activity里面setContentView做了什么
  21. activity window saface三者区别
  22. listview和recycleview区别
  23. 多线程有哪些?参数有哪些
  24. 线程有方式创建
  25. 做了哪些性能优化
  26. 讲一讲事件分发
  27. 讲一讲如何绘制view的,流程,每一步都做了什么
  28. 有没有封装过组件
  29. 内存优化,引用是谁的引用,层次说一下
  30. rgb556 占多少字节
  31. sychonized和lock区别
  32. sleep和wait()区别
  33. 讲讲okhttp
  34. leakcanary底部怎么实现的
  35. parcel和serilizable区别

快手

  1. hashmap实现原理,哈希值一样如何储存的,如何查找其中一项,时间复杂度多少?
  2. 讲一讲voilate和sychnroized?
  3. Recycleview四级缓存,自定义缓存如何做的?
  4. View是如何绘制的?不能只说绘制的三个方法,如何通知到要去绘制的?
  5. GC回收机制,是如何知道哪个对象该被回收的?
  6. 算法:输入两个链表,让其合一起输出一个链表

番茄一面
https://www.notion.so/59cafae8d24844c0b9b39bcc86b478ae

阿里

2020 5.19 15:00阿里一面

  • Component相关

  • 你们是如何解决跨模块调用的

  • 说说 RxJava 的线程切换是如何实现的. 见 RxJava 面试题

  • ArrayListLinkedList的区别

  • 说说 HashMap的数据结构

  • N 个整数, 在不使用循环的前提下. 取最大的前五个. 实则是 Top K 的问题

  • 二叉搜索树的查询效率取决于什么?

    取决于树的高度, 所以树需要一些平衡的操作. 降低树的高度. 让树平衡

2020 5.20 14:00字节跳动一面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容