-
String、StringBuffer 、StringBuilder的区别
-
ANR异常发生条件
- 如何分析ANR
-
自定义View和ViewGroup
-
事件处理 分发,拦截,处理。
-
GC算法
-
四大引用 强,软,弱,虚,并说明下合适GC
-
动画 View动画,属性动画,帧动画。再说下View和属性动画区别。
-
JVM 原理
-
屏幕适配相关问题
差不多就问了这几个问题,其他的忘记了,其中美团的手写算法在业界算是比较出名,很多小伙伴可能卡在手写算法上。然后就是一些Android和Java的细节性东西,这些基础内容只要有一点工作经验的都基本能说得上来。
==============================================================
-
Http和Https的区别?
-
看过哪些源码?Glide原理?
-
OkHttp原理?
-
Retrofit原理?为何用代理?代理的作用是什么?
-
ButterKnife原理?用到反射吗?为什么?
-
eventbus的原理。
-
Handler原理
-
Binder原理
-
ANR异常如何查找并分析?
-
JVM内存模型?性能调优?
-
垃圾收集算法有哪些?G1算法?
-
加密算法有哪些?对称加密和非对称加密的区别?
-
TCP的三次握手?两次行不行?为什么?TCP攻击知道吗?如何进行攻击?
-
性能优化方面
-
会对代码进行review吗?何时review?怎么review?
-
项目中遇到的让你棘手的问题?多久解决,怎么解决?
-
平常如何学习?何时学习?怎么学习?学习渠道?
二面跟比一面比起来,会更加深入,偏向原理性质。
所以大家平时的编码过程中,要多思考,多看源码,要理解实现方式,而不要一味的去写代码完成需求,长此以往的话未来很容易被后浪淘汰的。
这一节讲的我喉咙都快起火了~
这里必须得感谢一下我毕业后的第一个领导张哥,多亏张哥那会就传授给我正确的学习方式,还一再强调一定要多看源码,不然这里已经凉凉了…
(当然,也与我的天才脱不了干系 2333)
==============================================================
-
前两轮面试感觉如何?
-
热修复
-
插件化组件化
-
动态化
-
Kotlin
-
Flutter
-
聊了一下之前的公司和项目
-
你觉得小团队好还是大团队好?
-
说说自己的优缺点
-
发展方向 职业生涯规划 是先讲究宽度还是讲究深度,为什么?
-
为什么离职?
-
其他小问题:哪里人啊?现在工资怎样?要求如何,何时到岗?有什么问题要问我的吗?
三面面试官可能考虑到之前两轮的原因没有问太多技术问题…
然而我确实已经是强弩之末了,在我感觉中,他竟然上来就是一套连环拳?
- 你觉得小团队好还是大团队好?
- 说说自己的优缺点??
- 职业生涯规划???
行了行了,我不装了,坦白了,我就承认我不行好了吧?
==============================================================
这次面试感觉还不错,美团的同学待人方面很随和。很喜欢这种氛围。
最后的定级就不说了,我始终认为:结果不重要,重要的是过程。只要你有实力,就不用担心,Offer向来都不会亏待那些努力的人!
如果不好好学习,就算背了面试题,又能如何?一样会在面试中PASS。
所以说,平时写代码的时候需要多多思考,不一定用到才去Google,对于一些新的技术,要不断追求同时别忘记了理解原理很重要!基础也很重要!
====================================================================
- 多总结、多输出
多写文章,输出优质内容
而除了人人皆知的写博客,还可以通过画图的方式将知识串起来
包括流程图、思维导图,先把自己记得的部分在图上画出来(这里推荐Xmind)
比如思维导图我是这么做的:
Android开发知识体系→Java基础知识、Android基础知识、性能优化、NDK……
然后性能优化又细分为启动优化、UI渲染优化、内存优化、APK优化……
长此以往的这样一步一步深入构建,你对于自身的知识掌控度会有质的飞跃!
随便找个培训机构的知识体系图的话,也可以起到自己查漏补缺的作用:
在自己绘制导图的过程中,如果遇到写不上的地方,我想你也知道你要提升哪一块了吧?
这样做还有一个好处:体系化学习
平常大家学(jie)习(jue)知(BUG)识的时候都是碎片化的知识,过后非常容易忘,而如果你用思维导图的形式将这些碎片化的知识整合到一起,甚至是工作中也经常使用,效果就会非常好。
- 学习一线大厂的各项技术
大厂是我们的技术先驱,不仅仅是各种技术,还有很多令你大开眼界的使用方法,学习这些有利于自己竞争力的提高,深入理解后也可以进一步的提升你的学习效率。
这一方面,通常那些我答不上来的题目,我会直接问面试官,这个应该怎么解或是什么思路,面试后就赶紧记下来,回去操作几遍就差不多了
另外还有万能的群友,平常大家交流的时候也可以学到很多东西。
- 定期面试
每隔一段时间就要出去面试一轮,面试的目的不一定是为了找到好的工作,而是知道自己的优缺点是什么?知道市场需要什么样的人?
定期的面试可以让你了解当下市场需要哪些技术,也更加容易确定自身的短板在哪,同时,也可以更加有针对性的学习提升,并且在面试过程中遇到了你不会的点,你也可以借机向面试官提问,趁机学习了一波大厂的技术操作
要是运气好,拿到了高薪Offer,岂不是更赚?
同样,因为面试你的也是同行,这样也能够碰撞出不同的思想。
试想?如果你一直待在一家公司,都不知道外面的情况如何的话,那是非常可怕的,至少我这么认为。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://img-blog.csdnimg.cn/img_convert/0c504f18c39b5c5de99f973f798044de.jpeg)
最后
我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。
其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。
不断奔跑,你就知道学习的意义所在!
[外链图片转存中…(img-yHRamuU0-1712234792835)]
[外链图片转存中…(img-x7xAmSE9-1712234792835)]