2020下半年腾讯Android中高级开发岗面试真题收录分享

前言

今天给大家分享的是博主腾讯面试的面经以及对腾讯2020下半年Android开发岗面经真题收录,希望可以帮助到大家,喜欢的朋友可以点个赞支持一下。

2020.9月博主腾讯一面

1、说完基本情况后问项目,遇到过的问题,解决办法,用过的技术
2、TCP和UDP有哪些区别
3、TCP三次握手四次挥手,为什么挥手时要确认两次?
4、王者荣耀保证用户实时性共享画面,互相明白对方做啥操作
5、对synchronized怎么理解的
6、Java的各种框架有多少了解
7、怎么做的一个线程访问,组织另一个线程访问呢?
8、简述写一个JNI HelloWorld的基本流程,从写出Java native方法到打印到手机屏幕上为止,说说这整个过程里面每一步产生了什么文件
9、动态权限申请,说说哪些是危险权限,举出5个例子
10、死锁是怎么产生的
11、算法:求所有在数组中的A,A满足前面的数都小于该数,后面的数都大于该数
12、BrocastReceiver,BrocastReveiver两种注册方式,ContentProvider

一、Java部分

1、Java中==和equals和hashCode的区别
2、int与integer的区别
3、谈谈对java多态的理解
4、String、StringBuffer、StringBuilder区别
5、抽象类和接口区别
6、Serializable 和Parcelable 的区别
7、string 转换成 integer的方式及原理
8、哪些情况下的对象会被垃圾回收机制处理掉?
9、什么是强引用、软引用、弱引用以及虚引用?
10、什么是依赖注入?能说几个依赖注入的库么?
11、静态代理和动态代理的区别,什么场景使用?
12、Java的异常体系
13、JVM的回收算法是怎样的
14、说一下泛型原理,并举例说明
15、能说说HashMap常用操作的底层实现原理吗?
16、垃圾回收机制和调用 System.gc()的区别?
17、说一下你所了解的设计模式有哪些
18、说下java中的线程创建方式,线程池的工作原理。

二、Android基础题

1、说下四大组件生命周期?
2、说下onSaveInstanceState()方法的作用 ? 何时会被调用?
3、说下 Activity的四种启动模式、应用场景 ?
4、谈谈Activity和Fragment的区别?
5、Service的两种启动方式?区别在哪?
6、如何保证Service不被杀死 ?
7、广播有几种形式 ? 都有什么特点 ?
8、广播发送和接收的原理了解吗 ?(Binder机制、AMS)
9、ContentProvider的权限管理?
10、描述一下Android数据持久存储方式?
11、SharedPreferences的应用场景?注意事项?
12、了解SQLite中的事务操作吗?是如何做的
13、Android中进程和线程的关系? 区别?
14、为何需要IPC?多进程通信可能会出现的问题?
15、讲下View的绘制流程?
16、描述一下View事件传递分发机制?

三、Android中高级

1.要做一个尽可能流畅的 ListView ,你平时在工作中如何进行优化
2.对于 Android 的安全问题,你知道多少
3.如何缩减 APK 包大小?
4.Android 与服务器交互的方式中的对称加密和非对称加密是什么?
5.设备横竖屏切换的时候,接下来会发生什么?
6.Android 启动 Service 的两种方式是什么? 它们的适用情况是什么?
7.请介绍下 AsyncTask 的内部实现,适用的场景是?
8.ThreadLocal 原理
9.RxJava 的功能与原理实现
10.ANR 是什么?怎样避免和解决 ANR?
11进程间通信机制,binder原理
12.序列化的作用,以及 Android 两种序列化的区别。
13.Android 中进程内存的分配,能不能自己分配定额内存
14.Android5.0~10.0之间大的变化
15.使用过什么图片加载库?

四、计算机网络部分

1、Http1.1和Http1.0及2.0的区别
2、Http长连接。
3、Http的请求方法。
4、Http的报文结构。
5、Https加密原理。
6、HTTPS 如何防范中间人攻击?
7、Tcp和Udp的区别?
8、TCP可靠传输原理实现(滑动窗口)。
9、为什么tcp要经过三次握手,四次挥手?
10、Cookie与Session的作用和原理。
11、浏览器输入地址到反馈结果发生了什么?
12、客户端如何校验 CA 证书?
13、网络请求缓存处理,okhttp如何处理网络缓存的
14、请解释安卓为啥要加签名机制?
15、权限管理系统(底层的权限是如何进行 grant 的)?
16、client如何确定自己发送的消息被server收到

五、Android第三方库

1、网络底层框架:OkHttp实现原理
2、OKhttp针对网络层有哪些优化?
3、网络请求缓存处理,okhttp如何处理网络缓存的?
4、从网络加载一个10M的图片,说下注意事项?
5、网络封装框架:Retrofit实现原理
6、响应式编程框架:RxJava实现原理
7、图片加载框架:Glide实现原理
8、Glide如何确定图片加载完毕?
9、Glide内存缓存如何控制大小?
10、加载bitmap过程(怎样保证不产生内存溢出)
11、Android中软引用与弱引用的应用场景。
12、LruCache原理
13、Fresco与Glide的对比:
14、Bitmap如何处理大图,如一张30M的大图,如何预防OOM?
15、事件总线框架EventBus实现原理
16、内存泄漏检测框架:LeakCanary实现原理
17、leakCannary中如何判断一个对象是否被回收?
18、依赖注入框架:ButterKnife实现原理
19、依赖全局管理框架:Dagger2实现原理
20、数据库框架:GreenDao实现原理

文末

附答案解析的话文章篇幅实在太长了,所以将真题和答案整理成了腾讯面经真题PDF+解析

面试系列文章上传在我的GitHub了。

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

也不想说太多的鸡汤,好好复习,祝大家面试顺利!然后给我点个赞~

猜你喜欢

转载自blog.csdn.net/zzz777qqq/article/details/111339349