被约了面试,面试官先上来问一下,了不了解终端这个岗位干什么?    回答不了解,被告知具体的大前端的方向,跨端做的比较多。    面试内容:    是否了解Kotlin协程相关?轻量级线程,底层是对语言进行支持保证能做到挂起操作可以解决回调地狱的问题看项目有使用MVVM架构,谈一谈和MVP的区别MVVM能解耦,View和ViweModel之间能各自做自己的事情MVP也能,但是MVP的View和Model之间的数据传输问题太难,都要Presenter进行手动同步,MVVM可以双向绑定了解Handler内存泄漏的情况吗?Handler主要泄漏的原因是内部类持有了外部类的引用,会有外部Activity的引用比如延迟发送这种情况那Android的内存泄漏有哪些?静态引用,匿名内部类持有外部类的引用,单例持有其他对象的引用监测Android内存泄漏的方法?Android studio自带的Profiler工具,可以看到内存使用情况,也可以去排查内存抖动这些问题定位内存泄漏,Leakcanary;Java内存分析MAT,可以做一些内存管理的时候用到Kotlin现在又一个匿名内部类,会又内存泄露吗?在kotlin中,kotlin有一些相关的优化,如果接口回调中不调用的外部类,那么生成的匿名内部类不会持有外部类的引用,也就不会造成内存泄漏。 反之,如果接口回调中调用到外部类,生成的匿名内部类就会持有外部类引用实现插件化怎么做到的?插件化是将一个apk根据业务功能拆分成不同的子apk,插件化更关注动态加载、热更新实现的是动态加载,用到某个模块的时候才去加载它对于类的加载classloader底层依赖于DexClassLoader,它里面的构造方法入参会有dexPath,optimizedDirectory等参数会指定加载类的地址,于是可以实现指定加载哪些类,进而实现动态加载的能力对于资源的加载(这块不是很懂,是下来之后了解的)反射调用AssetsManager的addAssetPath方法; 将外部的apk路径添加进去,构建新的Resource对象通过classloader加载R.java获取drawable,对应的id 通过上述构建的Resource获取drawable对象。数据加载这块不是很清楚性能优化做了哪些?资源方向资源压缩内存管理,监测泄漏,内存抖动性能方向懒加载实现提前加载热启动方向(不是很了解,当时没怎么做这块)Android 路由跳转怎么做?基础的创建导航图然后Negavition跳转的时候入参页面对应的标识符只支持fragement和activity这种的跳转,没有涉及到Native层,了解阿里有ARouter这种支持URL解析的框架;    没有算法手撕,然后是反问面试官具体的业务方向,涉及的技术栈有哪些    唉!晚上的淘天笔试做的一塌糊涂,写面经都打不起精神,淘天笔试这个样子预计是要凉凉了,写点面经攒攒人品!
点赞 6
评论 1
全部评论

相关推荐

点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
DKS233:项目写太简单了,你用什么技术实现了什么功能,优化了多少,分了哪些模块,解决了哪些难点,最好分模块写,你写的太模糊了。精通还是少用吧,你确定问你底层你扛的住吗,最好用熟悉。具备良好**意识,这种空话不要写,技能层面,要写就写实在的,比如“熟悉常用数据结构,如,堆,栈,链表,哈希表,平衡树”这种
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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