两年 android 经验面经(有赞等公司)

去年跳槽不成功,在同花顺又呆了一年。一年来收获蛮大,就公司项目来说,已经是非常熟悉了,很多入职不久的,都是不断抱怨,框架太老,技术太旧。这个是实话,但是细看里面的思想和设计还是能学到不少东西的,一年来也顺手优化了许多东西,根据业务也思考了很多更合理的方案。


不过还是打算跳槽了,薪资和无法推动项目是个大问题,总不能鱼渔都不得吧。我是抱着找不到好的,就北上的心态找的。


做股票期货的,经验类似,面试太过顺利…


Activity的启动模式

Activity和Fragment数据交互

线程间交互的方法都行,进程间交互的就更可以了,FragmentManager/getActivity()

单例的实现方法

事件分发机制

开源库用过哪些

自己平时写项目学习,基本都用过,原理也了解;重构项目的资讯模块用了Retrofit & RxJava,自己思考优化了代码框架,比如线程切换、页面查找等,其实弄清楚原理,要改哪里一目了然

项目中Socket是怎么分包、编码的?

包类型分为Text类型、Table类型、资源类型、曲线类型、交互模式数据(曲线类型属性主要是点,关键方法append,可以增量更新数据)

公司自己定义了个Base64编码,算法当然不要去纠结了

延伸了下压缩(主要用于Table和曲线类型)和加密(参考HTTPS)

股票的图怎么画?像左右滑动、点击出现十字光标这些

原理知道即可:自定义View &触摸反馈

要了16K,和当初进同花顺一样,当天给了答复


有赞


重点在kotlin、RN和weex,其实也正常,电商类都偏向混合开发,毕竟活动更新很频繁,和自己的技术栈不是很符合,估计是挂了,也正常,以公司角度肯定最好是找搞过的,以个人角度技术栈对不上肯定也会被压薪资…


Handler、Looper、MessageQueue的关系

类似微博分享功能适合的launchMode,为什么不是singleInstance?

Binder具体的实现原理,数据拷贝次数:代理模式&协议,太细的忘了,开发艺术探索、内核剖析、源代码情景分析里都看过…

个人觉得学以致用,比如App启动,没必要每步都记清楚,知道需要创建ApplicationThread、ActivityThread,然后和冷热启动结合想一下,activity的启动流程和生命周期结合想一下,虽然还没深入到那一步,但是启动模式实现肯定也是在AMS的,知识其实是相通的,多想想设计者这样设计的道理->不过可能也是自己经验不够,理解不到位,不过死记真的没意思…

RxJava:一个请求用完接着再用一个请求(concat)/两个请求并行使用哪个操作符(zip)

其实场景是很常见的,比如我们也有委托双重认证,并发请求就更多了,但是RxJava用的少,没那个意识,资讯那块的请求很简单,不过提醒我了,双重认证可以封装简化->可能不行,公司的网络框架没那么解耦的

这种类似问题我是最烦的,确实不会,不过知道就是输入关键字搜索就可以知道的问题

StringBuilder和StringBuffer的区别,StringBuffer的实现原理


HashMap的rehash扩容是怎么操作的:没什么印象了

1).创建一个新的Entry空数组,长度是原来的2倍

2).遍历原Entry数组,把所有的Entry重新Hash到新数组里。为什么要重新Hash呢?因为长度扩大以后,Hash的规则也随之改变了

->想问的应该是rehash的公式,之前看到过,不过没去记…

->也有可能想知道的是:LoadFactor:HashMap负载因子,默认是0.75f;Capacity:HashMap的当前长度,HashMap的长度必是2的幂


栈虚拟机和寄存器虚拟机差异:听都没听过,不过知道寄存器处理速度是最快的


Retrofit的注解是怎么解析的:动态代理、AOP


Handler的内存泄漏原因;为什么内存释放不了,MessageQueue持有?->被带沟里了,肯定知道内部类持有外部引用导致activity无法释放;想的是线程是GC Root,Handler正在运行,会导致activity无法释放,所以被引导,顺势说了MessageQueue持有了activity


JSBridge安全漏洞解决方法:知道有安全问题,但是没仔细研究


ClassLoader双亲委派实现原理


IntentService的实现原理


平时用过哪些框架:RxJava和Retrofit重构了资讯模块


淘客吧


View的绘制流程、承载的数据结构、树的好处

算法题:把0排到最前面

事件分发机制

MVC MVP MVVM的区别

ClassLoader的过程,ClassLoader的好处

Handler内存泄露

多线程机制

HTTPS工作原理

数据怎么压缩,数据的安全

插件化原理

ARoutet原理

组件化通信

内存优化做过哪些

讨论了下负载均衡

系统启动流程和activity启动流程

成长最大的阶段


#有赞##社招##安卓工程师##面经#

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-31 20:32
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-27 14:35
天津大学_2023
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
4 11 评论
分享

全站热榜

正在热议