2024 年 9 月美团 Android 面试总结

    1. new Thread()
    1. AsyncTask
    1. Handler
    1. IntentService
    1. ThreadPoolExecutor

5 ANR异常发生条件

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

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

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

5.1 如何分析ANR

log+trace.txt

6自定义View和ViewGroup

说一下自己定义的组件就行

7 事件处理

分发,拦截,处理。只是View没有拦截处理

8 GC算法

标记清除,标记整理,复制,分代收集

参考:http://www.jianshu.com/p/7c708a66ff42

把上面文章弄懂了,就能刷过GC

9 四大引用

强,软,弱,虚,并说明下合适GC

10 动画

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

11 Dalvik和Art区别?(Just In Time和Ahead Of Time)

就这样第一面基本结束。一共问了11个问题,其中美团的手写算法在业界算是比较出名,很多小伙伴可能卡在手写算法上。然后就是一些Android和Java的细节性东西,这些基础内容只要有1年经验的都基本能说出个一二三。

大概过了10分钟,接下来是

第二面


1 OkHttp原理?

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

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

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

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

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

7 Http和Https的区别?

  • Https是ssl加密传输,Http是明文传输

  • Https是使用端口443,而Http使用80

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

  • Https协议需要到CA申请证书

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

  • MD5,SHA1,Base64,RSA,AES,DES

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

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

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

10 内存优化如何做?

11 看过那些源码?

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

13 项目中遇到的让你棘手的问题?多久解决,怎么解决?(考的是你发现问题和解决问题的能力)

14 如何学习?何时学习?怎么学习?学习渠道?(考的是学习能力)

就这样,第二面结束了。可以看出,第二面的难度会比第一面大一点,但是还好,基本都是常用的内容,深度会偏向原理性质。这就说明在平时的编码过程中,需要多多思考,多看源码实现方式,而不要一味着去写代码。程序员会写代码,但不要做一个只会写代码的程序员。我们的思维方式是不可替代的。

大概过了10分钟,开始进行第三面面试:

第三面


最后

为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力),由于篇幅有限,都放在了我的GitHub上,点击即可免费获取!

Androidndroid架构视频+BAT面试专题PDF+学习笔记

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

  • 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!
  • 我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。

当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。

无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,没有人能随随便便成功。

加油,共勉。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值