灵犀互娱 24秋招 终端一面

被约了面试,面试官先上来问一下,了不了解终端这个岗位干什么?

回答不了解,被告知具体的大前端的方向,跨端做的比较多。

面试内容:

  1. 是否了解Kotlin协程相关?
  2. 轻量级线程,底层是对语言进行支持保证能做到挂起操作
  3. 可以解决回调地狱的问题
  4. 看项目有使用MVVM架构,谈一谈和MVP的区别
  5. MVVM能解耦,View和ViweModel之间能各自做自己的事情
  6. MVP也能,但是MVP的View和Model之间的数据传输问题太难,都要Presenter进行手动同步,MVVM可以双向绑定
  7. 了解Handler内存泄漏的情况吗?
  8. Handler主要泄漏的原因是内部类持有了外部类的引用,会有外部Activity的引用
  9. 比如延迟发送这种情况
  10. 那Android的内存泄漏有哪些?
  11. 静态引用,匿名内部类持有外部类的引用,单例持有其他对象的引用
  12. 监测Android内存泄漏的方法?
  13. Android studio自带的Profiler工具,可以看到内存使用情况,也可以去排查内存抖动这些问题
  14. 定位内存泄漏,Leakcanary;
  15. Java内存分析MAT,可以做一些内存管理的时候用到
  16. Kotlin现在又一个匿名内部类,会又内存泄露吗?
  17. 在kotlin中,kotlin有一些相关的优化,如果接口回调中不调用的外部类,那么生成的匿名内部类不会持有外部类的引用,也就不会造成内存泄漏。 反之,如果接口回调中调用到外部类,生成的匿名内部类就会持有外部类引用
  18. 实现插件化怎么做到的?
  19. 插件化是将一个apk根据业务功能拆分成不同的子apk,插件化更关注动态加载、热更新
  20. 实现的是动态加载,用到某个模块的时候才去加载它
  21. 对于类的加载classloader
  22. 底层依赖于DexClassLoader,它里面的构造方法入参会有dexPath,optimizedDirectory等参数会指定加载类的地址,于是可以实现指定加载哪些类,进而实现动态加载的能力
  23. 对于资源的加载(这块不是很懂,是下来之后了解的)
  24. 反射调用AssetsManager的addAssetPath方法;
  25. 将外部的apk路径添加进去,构建新的Resource对象
  26. 通过classloader加载R.java获取drawable,对应的id
  27. 通过上述构建的Resource获取drawable对象。
  28. 数据加载这块不是很清楚
  29. 性能优化做了哪些?
  30. 资源方向
  31. 资源压缩
  32. 内存管理,监测泄漏,内存抖动
  33. 性能方向
  34. 懒加载实现提前加载
  35. 热启动方向(不是很了解,当时没怎么做这块)
  36. Android 路由跳转怎么做?
  37. 基础的创建导航图
  38. 然后Negavition跳转的时候入参页面对应的标识符
  39. 只支持fragement和activity这种的跳转,没有涉及到Native层,了解阿里有ARouter这种支持URL解析的框架;

没有算法手撕,然后是反问面试官具体的业务方向,涉及的技术栈有哪些

唉!晚上的淘天笔试做的一塌糊涂,写面经都打不起精神,淘天笔试这个样子预计是要凉凉了,写点面经攒攒人品!

#灵犀互娱##Android面经##许愿offer##灵犀互娱面经##写面经攒人品#
全部评论
淘天笔试a了几道啊大佬
点赞 回复 分享
发布于 2023-08-25 09:52 北京

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
6 9 评论
分享
牛客网
牛客企业服务