来了来了;带着全网最新Android面试真题来了

Posted 初一十五啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来了来了;带着全网最新Android面试真题来了相关的知识,希望对你有一定的参考价值。

前言

人总是不知足的,总希望往高处走,说实话跳槽是涨薪的最快方式,但是跳槽才频繁了影响也不好。眼看这9月份就不知不觉的要完了,有一些朋友发来一些面试经理以及经验,小结一下。

腾讯Android开发笔记+2022Android十一位大厂面试真题+音视频60道面试题+Jetpack+Matrix+JVM

一丶北京小米移动软件

1.一面

两个面试官(一个我们小组android的leader,一个是同事),上来先当着他们的面写了一个笔试题(都是很基础的题没啥难度,算法题也就是一个list的反转,但是小米比较注重手写代码的一些细节,所以要考虑好该判空的判空,还有防止越界啥的问题),然后就开始问,90%都在问Java基础(GC的机制,GC算法,内存相关的问的比较多,多线程线程安全问题是如何发生的,HashMap的原理)

2.二面

主管(全程聊项目,没有问技术相关的了,然后介绍了一下这个部门的工作内容啊之类的)

三面,本来应该有三面…三面是我们部门的领导,但是因为一些其他的原因吧,三面就没有面直接过了。

3.面试经验分析与建议

其实自已算是运气好,遇到的问题算是偏容易的,要多看看算法方面的视频

二丶腾讯音乐

五面🙃

5次都是技术面

  • activityservice的生命周期与使用场景

  • thread和服务的差别,单例的类型,多少种?优缺点。

  • 说一下死锁的原因,与场景,

  • 单例的使用场景,

  • 使用过啥来源框架,有啥特点,为什么,从中学到了什么。

  • kotlin的特点与java的差别,

  • 三种架构的区别

  • handlerview的原理。

  • 线程池原理与种类,

  • javastackoverflow的原因

  • 性能优化和卡顿优化的实际案例,

  • 虚拟机的构成与原理,

  • 热修复和插件化的区别与原理

  • rxjava源码,

  • 多线程应该注意的问题,

  • databinding原理

  • binder原理,

  • 网络方面知识,平时解决问题的流程

面试经验分析与建议

基础知识肯定得背,然后也得知道为啥是这样,算法会问到,还有就是开放式问题,他想知道你怎么解决问题的,过程重要,怎么发现和定位的;平时学习的方法。

三丶美团

面了三轮,内容如下:

3.1.java

  • static变量各种访问可见性,
  • final关键字的作用,
  • 封装继承多态展开问,
  • 多线程通讯,
  • 线程池原理,
  • 线程同步方式,
  • jvm内存模型,
  • 常见的gc算法
  • 类加载过程

网络的话主要是问的https,http1/2/3的区别特性

3.2.Android

  • 问了一些常见的handler原理
  • recycleview缓存机制,
  • view事件的分发
  • glide缓存机制
  • 然后引申如何实现我LRU
  • 内存泄露和如何预防处理,

3.3.算法的话

  • top-k排序(堆排序,位图法),
  • 旋转输出矩阵,链表逆序,
  • hashmap
  • 线程安不安全,它的锁机制等等

四丶字节跳动

一面:

  • 插件化。启动activityhook方式。
  • okhttp支持HTTP2http2的功能有哪些?
  • tcp方面拥塞控制?
  • tsl的握手和具体的非对称加密算法。
  • handlerpost(Runnable)如何实现的。
  • callbackrunnablemsg的执行优先级。
  • 阻塞是怎么实现的?为什么不会阻塞主线程?
  • 求二叉树中两个节点之间的最大距离。
  • 多进程通信问题。binder优势。aidl生成的java类细节。多进程遇到哪些问题?
  • 动态代理传入的参数都有哪些?
  • 非接口的类能实现动态代理吗?
  • ASM的原理
  • ApplicationActivityContext的继承树上有何区别?二者使用上有何不同?
  • 任意一颗二叉树,求最大节点距离

二面

  • 设计一个日志系统。
  • 内存泄露的分类。怎么查看内存泄露的问题
  • touch事件源码问题。
  • 组件化的问题。moduleapp之间的区别。moduler通信是如何实现的。
  • native奔溃的日志采集,怎么处理?
  • 注解实现一个提示功能:如果int的值大于了3需要提示。

三面

  • 介绍下flutter的启动流程
  • 介绍下flutterweex的区别
  • 组件化介绍一下
  • webview中与js通信的手段有哪些?
  • 介绍下flutter_boost的原理

四面

  • 适配器和装饰模式各自特点和使用场景
  • 视频编解码是怎么做的
  • 三色球排序

腾讯Android开发笔记+2022Android十一位大厂面试真题+音视频60道面试题+Jetpack+Matrix+JVM

五丶汇丰银行

1.线程池的工作原理
2.synchronized锁方法和锁静态方法有什么区别
3.锁的理解,什么是乐观锁,悲观锁,可重入锁。
4.View的事件分发流程
5.View的三种测量模式理解
6.HashMap的工作原理。
7.怎么实现多线程下载,断点续传怎么实现。
8.rxjava的背压了解吗
9.kotlin的协程

六丶阿里

一面

1.apk启动流程
2.zgot fork出一个进程到 从ActivityThreadmain方法,再到AMS 再到Intrumention启动
2.你刚讲到了handler,那你说一下你对handler的理解,怎么用java实现一个handler message messageQueen Looop Handler ThreadLocal 都讲一下对应的作用,

二面

1.说下你做的应用商店感觉最难的点在哪
2.为什么选用Fresco作为图片加载框架
3.安卓系统版本之间对Bitmap怎么处理的

三面

1.你觉的你做的项目最有挑战性的是什么
2.你是怎么做技术选型的,你在用组件化框架的时候有没有遇到什么问题
3.MVCMVVM,MVP说一下你的理解
4.你对你负责的项目在性能优化上做了哪些努力
5.你平时是怎么学习的
6.你对自己的未来职业规划是怎么样的

七丶腾讯

3轮技术面+1轮hr

一面:

1.mvp mvvm区别  mvvm中的databinding如何刷新view
2.跨进程通信方式,binder机制
3.leakcanary原理
4.内存优化和工具,APK瘦身
5.getpost的区别,浏览器中输入一个地址然后展示出页面这个过程中做了哪些操作
6.断点续传和下载的原理
7.glide缓存原理,lru算法
8.动态代理原理

二面

1.java虚拟机 
2.内存优化 
3.arraylist hashmap linkedhashmap 
4.binder
5.surfaceViewview
6.AMS  WMS
7.APK瘦身
8.锁(死锁的场景和解决方案)
9.算法  两个字符串 比较最大的公共字符串 ,主要是思路 (面对问题,以大化小)

三面

1.http优化  okhttp多路复用
2.硬币兑换问题 [算法]
3.车的通过问题,一条路上,30分钟内看到有车通过的概率是90%,那么5分钟之内概率是多少
4.图的展现形式
5.全球货币转换功能的代码
6.给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度.

八丶WPS

3轮技术

1.线程切换(handler机制)
2.多线程,几种锁,有什么区别
3.如何实现线程排队
4.Https加密机制
5.项目经验
6.Okhttp原理
7.设计一个线上日志收集系统
8.项目经验
9.Activity启动流程
10.性能优化
11.Viewstub实现原理,自己设计一个类似的
12.Https如何保证安全的,如何防止中间人攻击,可以伪造证书吗
13.Looper死循环为什么不会导致主线程卡死
14.epoll机制是怎么样子的
15.热修复资源id冲突怎么解决
16.AIDL如何实现的
17.Binder原理
面试都是开发性问题,大部分是项目经验

腾讯Android开发笔记+2022Android十一位大厂面试真题+音视频60道面试题+Jetpack+Matrix+JVM

九丶Shopee

2轮技术

shopee一面

1.java的四种引用分析
2.synchronizevolatile各自的机制是怎样的
3.handler源码原理相关的问题
4.自定义view的绘制,事件分发机制,怎么解决滑动冲突,activity启动的过程
5.https单向认证,对称加密和非对称加密,在浏览器输入url发生了什么
6.jvm相关,如new一个对象的过程发生了什么,垃圾回收机制
8.问了关于线程池的一些问题
9.跨进程通信有什么方案
10.binder机制
11.hashmap源码
12.用什么方案缩小apk体积
13.recyclerviewlistview对比
14.做过什么内存优化,性能优化
15.okhttp源码设计原理
16.手写一道算法题,关于DFS+回溯算法的

shopee二面

1.问了之前的一些项目经历,在团队做了什么,主要负责哪一块,选择一两块自己认为做得最好的展开讲讲,过程中会打断问问题
2.有没有做过插件化,做到什么程度,讲讲原理
3.由于我之前项目有用到mvvmjetpack,问了一些jetpack组件相关的源码,和mvvmmvp的对比
4.又问了okhttp,缓存拦截器原理是怎样的
5.项目中做过什么性能优化,具体说说
6.平时项目中用到什么设计模式,挑几个常用讲讲
7.聊人生聊职业规划

十丶京东

1.如何设计模块,组件,sdk,如何考虑
2.说说你项目的架构,为何这么设计或这么考虑
3.说说内存泄漏,越多越好
4.说说你的技术难点,如何解决,如何思考
5.apk安全,你如何考虑
6.act+fragment的完全生命周期(不是单个说哦)
7.recyclerView源码,必会,包括缓存如何实现,哪几个缓存,运作流程等;各种notifyXX的原理,触发哪些重绘;如何实现下半部分item不移动,上半部分的item高度变化的实现?

十一丶探探

探探比较好的面试题:

1.手拖动View,手松开后完成一个泡泡破裂的动画效果(本质是view事件分发机制+动画选型,分发机制哪个方法处理什么参数,之后怎么触发动画效果等,问的灰常具体,吐了)
2. 自定义view相关

3.深入的说说framework层的流程原理
4.kotlin 协程深层原理如何实现的
4.dcl是否线程安全?哪一块出问题,为什么volatile能实现防止指令重排,指令级别如何实现的,对象的创建过程等(多家都问了,很深入)

十二丶小红书

1.concurrentHashMap 如何加锁的
2.measure参数详解,view设置wrap不起作用
3.Bind service,如何实现保活
4.两个进程act,如何加快启动速度
5.性能优化(面试官老插嘴,都说不上话)
6.Eventbus如何实现线程的切换
7.jetpackNavigationxml引用,在什么时候调用的?
8.Inflater.inflate如何实现xmljava的(framework),方法中的各个参数含义。

腾讯Android开发笔记+2022Android十一位大厂面试真题+音视频60道面试题+Jetpack+Matrix+JVM

以上是关于来了来了;带着全网最新Android面试真题来了的主要内容,如果未能解决你的问题,请参考以下文章

来了来了,最新vite源码分析,vite到底为什么比webpack快

来了来了,2020 版最新设计模式重磅发布!

全网最新刷题神器来了,面试题想搜就搜!

来了来了~MatrixOne技术架构详解来了~

2021最新Android大厂面试真题大全,面试建议

来了来了!趋势预测算法大PK!