Loading repository data…
Loading repository data…
hcily / repository
炎枭的面经
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
自我发展规划:不断突破自我,在技术上以及与人的沟通能力上往更高的层次上发展。
团队的技术氛围很重要,在有很好的业务支撑的环境下,大家为了提出某个实际问题的解决方案,相互之间会进行交流学习。在没有很好的业务支撑的环境下,大家可以一起互相探讨现有技术的优化点,调研新的技术,互相分享学习心得。
https://juejin.im/post/587dbaf9570c3522010e400e?utm_source=wechat
https://github.com/LRH1993/android_interview
https://blog.csdn.net/mwq384807683/article/details/70795881
https://github.com/davideuler/architecture.of.internet-product
加快数据库存储 一次插入多条,显示开启事务,关闭读、写同步,执行准备(类似存储过程,Stored Procedure),索引 https://blog.csdn.net/majiakun1/article/details/46607163
GreenDao https://blog.csdn.net/zhangjiaofa/article/details/49134341 提供的功能:加密,RxJava1,升级,注解(生成dao),异步封装(操作合并,减少事务的开关), 锁(IdentityScope)? CursorWindow ? 速度快的原因:Transaction(事务),对SQLiteStatement进行缓存
对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)
UIL源码解析:下载进度、缓存策略、下载、显示、线程池 https://blog.csdn.net/maplejaw_/article/details/51684130
HashMap : https://blog.csdn.net/justloveyou_/article/details/62893086
LinkedHashMap : https://blog.csdn.net/justloveyou_/article/details/71713781
LruMemoryCache :
Glide源码: https://blog.csdn.net/yulyu/article/details/60331803
Volley:默认开启4个网络请求线程,返回的结果存储在内存中(大文件传输会长时间占用线程,并且可能由于内存占用过多导致OOM)
okhttp3 :https://yq.aliyun.com/articles/78104?t=t1 : https://blog.csdn.net/mwq384807683/article/details/71173442?locationNum=8&fps=1
okio:
https? http2? SPDY? https://zh.wikipedia.org/zh-cn/HTTPS https://zh.wikipedia.org/zh-cn/HTTP/2 https://zh.wikipedia.org/zh-cn/SPDY
如何实现请求的优先级(高德) Volley的请求队列:PriorityBlockingQueue :
okhttp的请求队列:SynchronousQueue :
traces.txt文件 https://www.jianshu.com/p/f406d535a8bc https://blog.csdn.net/jiangguangchao/article/details/54908477
BlockCanary源码: https://blog.csdn.net/bazhongren/article/details/51125113
LeakCanary 源码: https://blog.csdn.net/cloud_huan/article/details/53081120
Reference : https://www.cnblogs.com/jabnih/p/6580665.html ReferenceQueue : https://www.cnblogs.com/dreamroute/p/5029899.html
iTestin工具
https://blog.csdn.net/guolin_blog/article/details/50727753
activity的生命周期: http://weishu.me/2016/03/21/understand-plugin-framework-activity-management/ https://blog.csdn.net/yangxi_pekin/article/details/19977429
Fragment的生命周期: https://blog.csdn.net/jxxfzgy/article/details/44773797
https://blog.csdn.net/chenkai19920410/article/details/52515771
锁? https://blog.csdn.net/zqz_zqz/article/details/70233767 https://blog.csdn.net/yanyan19880509/article/details/52345422 https://www.cnblogs.com/-new/p/7256297.html
Semaphore: https://blog.csdn.net/qq_19431333/article/details/70212663
抽象的队列式的同步器 AQS:https://www.cnblogs.com/daydaynobug/p/6752837.html
Exchanger的工作原理及实例:https://blog.csdn.net/carson0408/article/details/79477280 http://ifeve.com/concurrency-exchanger/
CountDownLatch解析 : https://blog.csdn.net/yanyan19880509/article/details/52349056
CyclicBarrier:https://www.jianshu.com/p/ccf218dfcfa6
classloader?https://blog.csdn.net/briblue/article/details/54973413
深入剖析volatile关键字 : https://www.cnblogs.com/dolphin0520/p/3920373.html http://www.iteye.com/topic/652440
彻底理解synchronized:https://juejin.im/post/5ae6dc04f265da0ba351d3ff
handler的底层实现原理 : https://blog.csdn.net/luoshengyang/article/details/6817933
MessageQueue的同步障碍机制:https://blog.csdn.net/tear2210/article/details/49815181
不同线程间怎么通过handler发送消息
线程间的通信
Android屏幕的刷新机制(16ms,绘制):https://www.cnblogs.com/tiger-wang-ms/p/6592189.html
performTraversals : https://www.jianshu.com/p/a65861e946cb
Vsync垂直信号\Choreographer
循环调用requestLayout或者invalidate,每次调用都会触发onMeasure\onLayout或者onDraw吗?
View的三次measure,两次layout和一次draw https://blog.csdn.net/u012422440/article/details/52972825
Android的anr的内部原理:https://www.cnblogs.com/android-blogs/p/5718302.html
Watchdog:https://blog.csdn.net/kc58236582/article/details/78480640
HashMap怎么避免key冲突:
(SurfaceView源码浅析) https://blog.csdn.net/luoshengyang/article/details/8661317/
https://www.cnblogs.com/wytiger/p/5693569.html
(对比) https://blog.csdn.net/hejjunlin/article/details/58582919
优势:接受新事物的能力强,学习能力强,有责任心,能很快融入团队
缺点:有时候会钻一些牛角尖,比如有时候产品提出一个问题,我就会以技术的角度去思考这个问题到底能不能实现,但其实在很多时候证明,技术上不能实现的都可以归结为产品问题,重要的还是在产品端,前期的规划很重要,写代码,实施,只是产品研发其中的一个步骤。
职业规划:技术的深度和广度上需要提升,在工作之余了解些后台,前端的技术而不单单是移动端,这样在制定方案的时候能够考虑的更加周到,这是硬技能方面。同时还要在软实力方面有所提升,比如和同事的沟通、对产品的理解等方面,在这一方面,我希望自己在不久的将来能够带领一个团队,能更多的站在产品的角度去思考问题,而不单单是从技术角度,从而以一个更大的角度去看待问题。
为什么离开:
高级开发者和中级开发者的区别,
工厂模式
了解哪些些最新的技术
热修复 : https://www.cnblogs.com/popfisher/p/8543973.html : 方法修复(native、java hoke)、类修复(dex替换)
Android P
在项目中遇到最印象深刻的事情(技术难点)
dalvik和art的区别 Ahead-of-time(AOT) compilation instead of Just-in-time(JIT)
Android 打包流程:https://www.jianshu.com/p/d29c37dda256
SVG图片生成原理:
网络数据传输分片:
Okhttp使用遇到过哪些问题:
Android中killProcess()、System.exit(0)及finish()的区别 https://blog.csdn.net/freelander_j/article/details/50374900
线程
HandlerThread
锁
view的事件分发: https://blog.csdn.net/carson_ho/article/details/54136311 https://www.jianshu.com/p/e99b5e8bd67b
view的绘制,onLayout,onMeasure(MeasureSpect),onDraw
MeasureSpect:https://blog.csdn.net/lamp_zy/article/details/51567942
viewpager的内部实现:
深入浅出RecyclerVIew: https://kymjs.com/code/2016/07/10/01/
Hashmap的数组长度为什么是2的幂次方?:确保通过hashCode和(length-1)求模(使用的是二进制的与运算) 快速找到在数组中的位置
java四种引用及使用场景:https://yq.aliyun.com/articles/576226
算法:
横向打印二叉树
合并两个有序链表
activity的生命周期,一个activity启动另外一个activity,第一个activity的onStop一定会被调用吗? :https://blog.csdn.net/baidu_32472003/article/details/79970992
手写两个线程安全的单例模式。https://blog.csdn.net/jason0539/article/details/23297037/
聪明: 你的老板有没有不采纳你建议的时候? 他有没有和你交流为什么不采纳? 你接受他的理由吗? (聪明人,知进退,一定会问老板理由)
皮实: 当你的老板当众批评你的时候,你是怎么想的? 是不是觉得他不够给面子,应该先和你私底下商量一下? (当众被批评,用好奇心面对所受到的批评和指责,这是皮实的最正能量的解释)
乐观: 如果你没有被我们看中,会不会不爽? (如果回答,不会啊,没什么,说明不乐观,如果回答会有点失落,但是我会了解为什么,然后改进再来过)
自省: 一年前,你的老板认为你的不足是什么? 当下,你的老板认为你的不足是什么? 你觉得你自己哪些方面不足,阻碍了你的晋升? (会自省的人,和自己的老板一定有很好的沟通,而且会得到他人的指点,尤其是自己的老板)
谦卑: 一个工作年限比你少的人,轻而易举的解决了你的技术难题,你会如何去请教他? 如果你能够解决你的老板无法解决的问题,你会不会希望拿到和你的老板同样高的薪水? (弱于比自己年轻的人,不耻下问;强于比自己尊贵的人,更要虚怀若谷)