美文网首页Android开发
Android开发1年半,2本学历,传说中的Curd程序员,面试

Android开发1年半,2本学历,传说中的Curd程序员,面试

作者: 不正经的创作者 | 来源:发表于2020-10-28 16:09 被阅读0次

    个人背景

    如标题所示,我的个人背景非常简单,Android开发经验1年半,学历普通,2本本科毕业,毕业后出来就一直在Crud,在公司每天重复的工作对我的技术提升并没有什么帮助,但小镇出来的我也深知自我努力的重要性,想要改变“命运”,没有背景没有资本的人,只能通过勤奋获得。

    幸运女神往往会眷顾努力的人,所以当好运降临到我头上,我并不诧异,目前拿到了美团30K的offer,下文也不说废话,主要分享我这次“美团面试经历”和“个人学习方法”,希望能帮助到你们。

    内容过多,不适合在文章全部阐述,下文的面试题以及学习资料都有整理在pdf里,需要完整pdf版的,可以私信我看到全部资料内容。


    美团面试经历(还原最真实的3面)

    美团一面:

    1、手写算法题。猫扑素数;1到n,求1的个数;单词反转;

    2、Activity的加载模式。

    standard,singleTop,singleTask,singleInstance。

    3、什么时候会用到singleTask?

    在MainActivity的时候用到

    4、Handler机制?

    5、一个线程是否只有一个Looper?

    6、如何保证一个线程只有一个Looper?

    7、多线程的方式有哪些?

    8、ANR异常发生条件

    (1)5s内没有响应用户输入事件

    (2)10s内广播接收器没有处理完毕

    (3)20s内服务没有处理完毕

    9、如何分析ANR?

    10、自定义View和ViewGroup

    11、事件处理:分发,拦截,处理。

    12、GC算法

    13、View动画,属性动画,帧动画。再说下View和属性动画区别。

    美团二面:

    1、OkHttp原理?

    2、Retrofit原理?为何用代理?代理的作用是什么?

    3、ButterKnife原理?用到反射吗?为什么?

    4、ANR异常如何查找并分析?

    5、JVM内存模型?性能调优?

    6、垃圾搜集算法有哪些?G1算法?

    7、Http和Https的区别?

    (1)Https是ssl加密传输,Http是明文传输

    (2)Https是使用端口443,而Http使用80

    (3)HttpsSSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比Http协议安全

    (4)Https协议需要到CA申请证书

    8、加密算法有哪些?对称加密和非对称加密的区别?

    (1)MD5,SHA1,Base64,RSA,AES,DES

    (2)对称:使用相同密钥,需要在网络传输,安全性不高。

    (3)非对称:使用一对密钥,公钥和私钥,私钥不在网络传输,因此安全性高。

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

    10、内存优化如何做?

    11、看过哪些源码?

    12、会对代码进行review吗?何时review?怎么review?

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

    14、平时如何学习?何时学习?怎么学习?学习渠道?

    美团三面:

    1、前几次面试感觉如何?

    2、你现在的APP日活是多少?

    3、你现在如何处理崩溃日志?

    4、你觉得小团队好还是大团队好? 5 你的优点和缺点说下?

    6、你的发展方向说下?是先讲究宽度还是讲究深度,为什么?

    7、为什么离职?

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


    让“努力”成为自己的背景(如何学习?)

    1、看视频进行系统学习

    这1年多的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

    另外,我自己也珍藏了好几套视频资料躺在网盘里,有需要的我也可以分享给你:

    2、读源码,看实战笔记,学习大神思路

    “编程语言是程序员的表达的方式,而架构是程序员对世界的认知”

    所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

    3、面试前夕,刷题冲刺

    面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

    关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:

    总结

    只有技术过硬,在哪儿都不愁就业,“万般带不去,唯有业随身”学习本来就不是在课堂那几年说了算,而是在人生的旅途中不间断的事情。

    人生短暂,别稀里糊涂的活一辈子,不要将就。

    文章内容中涉及到的Android面试题、源码文档,技术笔记等学习资料,均可以免费分享给大家学习,只需你动动手多多支持即可!需要的同学可以私信我获取!

    相关文章

      网友评论

        本文标题:Android开发1年半,2本学历,传说中的Curd程序员,面试

        本文链接:https://www.haomeiwen.com/subject/uuqcvktx.html