Android研发去美团面试,被面试官用各种原理蹂躏,所幸最终拿到Offer

  1. String、StringBuffer 、StringBuilder的区别

  2. ANR异常发生条件

  • 如何分析ANR
  1. 自定义View和ViewGroup

  2. 事件处理 分发,拦截,处理。

  3. GC算法

  4. 四大引用 强,软,弱,虚,并说明下合适GC

  5. 动画 View动画,属性动画,帧动画。再说下View和属性动画区别。

  6. JVM 原理

  7. 屏幕适配相关问题

差不多就问了这几个问题,其他的忘记了,其中美团的手写算法在业界算是比较出名,很多小伙伴可能卡在手写算法上。然后就是一些Android和Java的细节性东西,这些基础内容只要有一点工作经验的都基本能说得上来。

二面

==============================================================

  1. Http和Https的区别?

  2. 看过哪些源码?Glide原理?

  3. OkHttp原理?

  4. Retrofit原理?为何用代理?代理的作用是什么?

  5. ButterKnife原理?用到反射吗?为什么?

  6. eventbus的原理。

  7. Handler原理

  8. Binder原理

  9. ANR异常如何查找并分析?

  10. JVM内存模型?性能调优?

  11. 垃圾收集算法有哪些?G1算法?

  12. 加密算法有哪些?对称加密和非对称加密的区别?

  13. TCP的三次握手?两次行不行?为什么?TCP攻击知道吗?如何进行攻击?

  14. 性能优化方面

  15. 会对代码进行review吗?何时review?怎么review?

  16. 项目中遇到的让你棘手的问题?多久解决,怎么解决?

  17. 平常如何学习?何时学习?怎么学习?学习渠道?

二面跟比一面比起来,会更加深入,偏向原理性质。

所以大家平时的编码过程中,要多思考,多看源码,要理解实现方式,而不要一味的去写代码完成需求,长此以往的话未来很容易被后浪淘汰的。

这一节讲的我喉咙都快起火了~

这里必须得感谢一下我毕业后的第一个领导张哥,多亏张哥那会就传授给我正确的学习方式,还一再强调一定要多看源码,不然这里已经凉凉了…

(当然,也与我的天才脱不了干系 2333)

三面

==============================================================

  1. 前两轮面试感觉如何?

  2. 热修复

  3. 插件化组件化

  4. 动态化

  5. Kotlin

  6. Flutter

  7. 聊了一下之前的公司和项目

  8. 你觉得小团队好还是大团队好?

  9. 说说自己的优缺点

  10. 发展方向 职业生涯规划 是先讲究宽度还是讲究深度,为什么?

  11. 为什么离职?

  12. 其他小问题:哪里人啊?现在工资怎样?要求如何,何时到岗?有什么问题要问我的吗?

三面面试官可能考虑到之前两轮的原因没有问太多技术问题…

然而我确实已经是强弩之末了,在我感觉中,他竟然上来就是一套连环拳?

  • 你觉得小团队好还是大团队好?
  • 说说自己的优缺点??
  • 职业生涯规划???

行了行了,我不装了,坦白了,我就承认我不行好了吧?

小结

==============================================================

这次面试感觉还不错,美团的同学待人方面很随和。很喜欢这种氛围。

最后的定级就不说了,我始终认为:结果不重要,重要的是过程。只要你有实力,就不用担心,Offer向来都不会亏待那些努力的人!

如果不好好学习,就算背了面试题,又能如何?一样会在面试中PASS。

所以说,平时写代码的时候需要多多思考,不一定用到才去Google,对于一些新的技术,要不断追求同时别忘记了理解原理很重要!基础也很重要!

关于我的学习方式

====================================================================

  • 多总结、多输出

多写文章,输出优质内容

而除了人人皆知的写博客,还可以通过画图的方式将知识串起来

包括流程图、思维导图,先把自己记得的部分在图上画出来(这里推荐Xmind)

比如思维导图我是这么做的:

Android开发知识体系→Java基础知识、Android基础知识、性能优化、NDK……

然后性能优化又细分为启动优化、UI渲染优化、内存优化、APK优化……

长此以往的这样一步一步深入构建,你对于自身的知识掌控度会有质的飞跃!

随便找个培训机构的知识体系图的话,也可以起到自己查漏补缺的作用:

在自己绘制导图的过程中,如果遇到写不上的地方,我想你也知道你要提升哪一块了吧?

这样做还有一个好处:体系化学习

平常大家学(jie)习(jue)知(BUG)识的时候都是碎片化的知识,过后非常容易忘,而如果你用思维导图的形式将这些碎片化的知识整合到一起,甚至是工作中也经常使用,效果就会非常好。

  • 学习一线大厂的各项技术

大厂是我们的技术先驱,不仅仅是各种技术,还有很多令你大开眼界的使用方法,学习这些有利于自己竞争力的提高,深入理解后也可以进一步的提升你的学习效率。

这一方面,通常那些我答不上来的题目,我会直接问面试官,这个应该怎么解或是什么思路,面试后就赶紧记下来,回去操作几遍就差不多了

另外还有万能的群友,平常大家交流的时候也可以学到很多东西。

  • 定期面试

每隔一段时间就要出去面试一轮,面试的目的不一定是为了找到好的工作,而是知道自己的优缺点是什么?知道市场需要什么样的人?

定期的面试可以让你了解当下市场需要哪些技术,也更加容易确定自身的短板在哪,同时,也可以更加有针对性的学习提升,并且在面试过程中遇到了你不会的点,你也可以借机向面试官提问,趁机学习了一波大厂的技术操作

要是运气好,拿到了高薪Offer,岂不是更赚?

同样,因为面试你的也是同行,这样也能够碰撞出不同的思想。

试想?如果你一直待在一家公司,都不知道外面的情况如何的话,那是非常可怕的,至少我这么认为。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

[外链图片转存中…(img-yHRamuU0-1712234792835)]

[外链图片转存中…(img-x7xAmSE9-1712234792835)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值