首页 > 其他分享 >9月最新Android中大厂面经总结

9月最新Android中大厂面经总结

时间:2023-10-05 21:32:18浏览次数:32  
标签:面试题 Java 哪些 面经 面试 线程 大厂 Android

个人介绍

Android移动客户端,北京被裁员已经两三个月了,第一,二周投了两周简历没有一个面试,异常焦虑!第三周投递渐渐有了几个面试,基本都是很小的创业公司或者新兴行业的公司,面试完基本都没有后续,包括已经面过BP的的没有反馈。一个月后才开始有了几个像样公司的面试像美团、腾讯、京东、字节等面试机会,字节、京东一面挂,美团三面挂,腾讯四面BP挂。现在对面试已经完全没有信心了,更没有心气了,招聘软件上的职位看了一遍又一遍还是那些岗位,该聊得都聊了,已读不回是常态,偶尔有个回的要了简历没有下文。

这里特别奉劝各位小伙伴,一定、一定、一定要有自己明确的规划,以及及时止损!!!

这次找工作,的的确确被锤很久,遇到过暖心面试官,也遇到过无良公司,还好一直坚持想找个自己相对喜欢的公司,还好结果还不错。

面试,无非就是一场技术交流。遇到不会的很正常,积极响应面对,主动尝试分析,尽力就好。这面试是否成功,有时候还真不是实力决定,不过实力有时候确实也能决定很多东西。

不管如何,一起加油~

本来想着记录面试过程以及尽自己努力去搜寻对应较好的面试答案,当个笔记和参考留存,奈何个人能力有限,也不想简简单单的就是背背题、抄个答案或者误导他人。知其然而不知其所以然,还是想后续抽空好好亲自测试走一下,真正的去掌握,所以本文不会单独的为每个面试官问我的问题特别注明对应的答案,我还是希望各位看官,尤其和我一样的小白,可以认真的思索下,假如面试官这样问你,你的答案会是什么?还有没有更好的回答?

虽然个人能力有限,但是还是希望做出一些正确引导,至少自己认为正确就好。

好了,废话就说到这,接下来就开始看面试题吧!

美团

  1. MVC、MVP和MVVM的区别?
  2. Kotlin协程的原理说一下?协程的分发器是如何分发的?了解协程构建器吗?
  3. OkHttp的流程说一下?拦截器的作用是什么?拦截器怎么实现TCP复用的?OkHttp相比其他网络框架有哪些优点?OkHttp中有哪些设计模式?
  4. HTTP和HTTPS的区别?
  5. HTTPS的具体的请求过程?
  6. 对称加密算法知道哪些?AES原理知道吗?
  7. Handler机制说一下?一个Thread可以有几个Looper,几个MessageQ,几个Handler以及他们之间的关系?为什么主线程不用创建Looper?
  8. 刚刚你提到了ThreadLocal,说下你对ThreadLocal的了解,为什么ThreadLocal中的Key是ThreadLocal,可以是其他的吗?为什么?(这里我瞎扯了避免内存泄露的问题)
  9. View绘制流程说一下?MeasureSpec参数作用?MeasureSpec参数和布局参数wrap_content,match_parant还有指定大小之间关系。
  10. 自定义View有哪些步骤,自定义View和自定义ViewGroup有什么区别?
  11. 手撕比较简单:链表是否有环、最大子数组和。

京东

  1. Java函数调用过程
  2. Volatile关键字的作用? 什么是可见性?
  3. 假定一个场景:在多线程环境下,线程A在10秒前对一个共享变量修改,线程B在10秒之后读取该共享变量的值,这种情况下需要加Volatile关键字吗?
  4. JVM垃圾回收机制
  5. 常用的垃圾回收算法?
  6. GC Root 引用的对象包括哪些? 标记的是有用的对象还是垃圾对象?
  7. 程序计数器的作用、特点
  8. 说说你对虚拟机栈的理解
  9. 说一下Java多态的原理
  10. 方法表是在JVM那个分区中?
  11. 什么是Fragment,有什么特点
  12. View绘制流程
  13. ViewRootImpl中的performTravesal方法在什么时机被调用,被谁调用
  14. ViewRootImpl有什么用,他和ViewRoot的关系
  15. requestLayout方法和invalidate方法的区别
  16. 算法:二叉树的层序遍历

得物

  1. 自我介绍
  2. 了解git嘛?
  3. git pull 和git fetch区别?
  4. Git merge 和rebase区别?
  5. 计算机网络七层模型?
  6. 进行一个网络请求时,会有什么过程?
  7. C++野指针?哪些情况会产生野指针?
  8. 全局变量没有初始化会发生什么?全局指针呢?
  9. 为什么会有默认值? 安全性、可预测性、方便性。
  10. 32位和64位系统int指针的转换会出现问题吗?
  11. 如果封装HTTP考虑哪些点?
  12. 项目问题
  13. 硬件解码了解? GPU解码等
  14. 如果给你一个乱序的RTP包,你怎么进行组装排序?
  15. 算法题:给定一个数组,它是先从小到大再从大到小排序。找出最大值?
  16. 给出多种方法,分析时间复杂度和空间复杂度。

OPPO

操作系统:

  1. 如何理解操作系统
  2. 操作系统的主要功能
  3. 什么是进程
  4. 如果只有一个处理器核,系统是如何运行多个进程的?
  5. 进程状态转换

Java:

  1. Java从编译到执行,发生了什么?
  2. 为什么会有JVM?
  3. Java中的几种对象引用,各自的特点

Android:

  1. Android框架结构
  2. 系统使用分层设计的优点?
  3. View绘制过程
  4. 是否在项目中使用过多线程,具体情景如何
  5. Handler机制
  6. Canvas原理

反问

腾讯QQ

  1. 介绍glide的整体运作流程(大概的系统框架)
  2. 平时写的demo,项目有考虑过屏幕适配吗?
  3. glide被存放到服务器上,当服务器上的图片发生改变的时候,手机会更新新的图片吗?
  4. glide去load网络资源的时候发了请求,它是发了什么请求?
  5. okhttp有使用吗?知道retrofit和okhttp的区别吗?
  6. okhttp知道实现原理吗?有看过源码吗?
  7. 有使用过kotlin吧?kotlin从你的角度来说跟java有哪些比较大的区别
  8. 使用过 .let .also 这些高阶函数吗?简单说一些 .also .apply的区别?
  9. 说一个kotlin非空的问题,你之前有打包过jar包,如果项目中用的是kotlin写的,对外提供写好的方法接口,你的函数声明里的参数是非空的,这种情况下你觉得是安全的吗?
  10. 可以大概说一下类加载机制吗?
  11. 知道双亲委托机制吗?
  12. 比如在String.kt里加了一个扩展方法,String本身是没有这个方法,那调用的时候是怎么一个流程?
  13. JAVA的集合都有使用吧?说下ArrayList和数组的区别?操作ArrayList有哪些需要注意的地方?
  14. 说一下ArrayList线程不安全怎么解决的?
  15. 说一下HashMap的实现原理for循环和foreach有什么区别?
  16. 有过大图加载经验吗?Bitmap加载数据很大,比如10mb怎么处理?
  17. 事件分发机制,有没有在demo或者项目中遇到需要处理Touch事件的情况?
  18. RecyclerView的缓存机制知道吗?有没有遇到过闪图情况?
  19. 多线程问题 - 死锁 的必要条件和解除死锁的方法?
  20. 从浏览器输入一个网址到页面渲染的过程
  21. 服务端一般用80端口接受请求,如果同时有多个连接,服务端是怎么区分这些不同连接的?
  22. 三次握手,如果服务端返回的ACK报文丢失了服务端和客户端会发生什么?
  23. 平常有使用过数据库吗?知道主键是个什么东西吗?有些操作需要更新到数据库,但是中间有很多步骤,怎么保证这些步骤一次性全部生效?
  24. 你C++怎么样?知道什么是虚函数吗?指针呢?指针的指针呢?智能指针呢?

算法题:

  1. 删除升序链表中所有重复的元素
  2. 单例模式

反问

同洲电子

四轮技术面

  1. Activity的启动流程
  2. 静态类的静态方法能不能被子类重写(不能,走的invoke-static指令,只有走invoke-virtual指令的才可能实现多态)
  3. Linux的启动流程
  4. 对Native层有没有兴趣
  5. 对做智能家居有没有兴趣
  6. 招一个应届生进来做app也是做,招你也是做,为什么要招你

顺丰科技

一轮技术面 总共三轮面试

  1. handler机制
  2. looper的唤醒是在Java还是Native层,怎么做到的
  3. HashMap,ConcurrentHashMap,HashTable有什么异同
  4. Binder通信机制
  5. 跨平台开发熟不熟悉
  6. 如何提高海外用户的访问速度,假设服务器在深圳。
  7. 如何学习一个新东西,有哪些执行步骤

百度

  1. 红包随机算法 是怎么做到的
  2. 写一个二叉树的深度度优先遍历,递归 非递归
  3. Android中LocalServerSocket是干什么用的
  4. binder的Native层代码看过吗
  5. Linux有哪些RPC机制
  6. 为什么android使用了Binder机制没采用共享内存
  7. 如果让你设计一套进程间通信的机制,你会怎么设计
  8. Linux的模块动态加载机制是怎么实现的
  9. 一个物理屏划分为三个逻辑屏,是靠谁来分发事件的。
  10. ConcurrentHashMap是不是绝对的线程安全。(final,绝对线程安全,相对线程安全,线程不安全)
  11. 线程池是如何管理线程状态的
由于文章篇幅有限,不能将面试过的所有面试题展示出来,但是我已经将求职过程中碰到的面试题整理成PDF文档了,有需要的小伙伴,可以点击下方课程链接详细了解!!!

https://edu.51cto.com/course/32703.html

9月最新Android中大厂面经总结_Android

第一章 Java方面

  • Java基础部分
  • Java集合
  • Java多线程
  • Java虚拟机
  • 9月最新Android中大厂面经总结_Android_02

第二章 Android方面

  • Android四大组件相关
  • Android异步任务和消息机制
  • Android UI绘制相关
  • Android性能调优相关
  • Android中的IPC
  • Android系统SDK相关
  • 第三方框架分析
  • 综合技术
  • 数据结构方面
  • 设计模式
  • 计算机网络方面
  • Kotlin方面
  • 9月最新Android中大厂面经总结_程序员面试_03

第三章 音视频开发高频面试题

  • 为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
  • 怎么做到直播秒开优化?
  • 直方图在图像处理里面最重要的作用是什么?
  • 数字图像滤波有哪些方法?
  • 图像可以提取的特征有哪些?
  • 衡量图像重建好坏的标准有哪些?怎样计算?
  • ......
  • 9月最新Android中大厂面经总结_多线程_04

第四章 Flutter高频面试题

  • Dart部分
  • Flutter部分
  • 9月最新Android中大厂面经总结_多线程_05

第五章 算法高频面试题

  • 如何高效寻找素数
  • 如何运用二分查找算法
  • 如何高效解决雨水问题
  • 如何去除有序数组的重复元素
  • 如何高效进行模幂运算
  • 如何寻找最长回文子串
  • ....
  • 9月最新Android中大厂面经总结_程序员面试_06

第六章 Andrio Framework方面

  • 系统启动流程面试题解析
  • Binder面试题解析
  • Handler面试题解析
  • AMS面试题解析
  • 9月最新Android中大厂面经总结_Android_07

第七章 企业常见174道面试题

  • SD卡
  • Android的数据存储方式
  • Broadcast Receiver
  • sp频繁操作会有什么后果?sp能存多少数据?
  • dvm与jvm的区别
  • ART
  • Activity的生命周期
  • Application能不能启动Activity
  • ....
  • 9月最新Android中大厂面经总结_程序员面试_08

有需要的小伙伴,可以点击下方课程链接详细了解!!!

https://edu.51cto.com/course/32703.html

标签:面试题,Java,哪些,面经,面试,线程,大厂,Android
From: https://blog.51cto.com/u_16163442/7717599

相关文章

  • Android程序员35岁的职业出路:寻找新的舞台
    前言转眼间已经到了奔四的年纪,岁月匆匆,时光荏苒,转眼间已经在Android行业干了8年,当前项目组也陆陆续续进入了不少00后,80后已经不见踪影,90后正在逐渐淡出,而我,也要开始迎接程序员35岁这个坎,心里还是想要继续做技术这条路,但是也给自己思索了一些转行之路,在此跟大家交流交流。为什么35岁......
  • Android跨进程数据通道若干方案的实验笔记
    一、实验背景和目标我想做一个Android平台的跨进程数据通道,通过这个通道支持若干App之间的数据传输。我想到了一些传输方案,但是缺乏在方案中做出选型的评价依据。本实验会基于若干方案实现数据传输通道,在模拟的业务场景中进行实验,从功能性指标和非功能性指标对各方案做出评价。i.......
  • 金九银十Android面试该怎么有效的回答,看完这篇文章就懂了
    今年的严寒使得许多职场人的求职时间变长,以往火热的金三银四不再,金九银十九承载着广大程序员的希望。但是在这个特殊情况下,竞争压力也会增大,各大企业对于求职者的要求也随之增高。很多小伙伴都面临着这样的情况:千辛万苦拿到面试机会,却因各种原因翻车。“在面试的时候不能将自己的真......
  • Android入门教程 | UI布局之RelativeLayout 相对布局
    RelativeLayout简述RelativeLayout继承于android.widget.ViewGroup,按照子元素之间的位置关系完成布局,作为Android系统五大布局中最灵活也是最常用的一种布局方式,非常适合于一些比较复杂的界面设计。RelativeLayout和LinearLayout类似,都是ViewGroup,能“容纳”多个子view。R......
  • Android获取VersionName
    使用privateStringversionName=BuildConfig.VERSION_NAME;//在需要的地方使用versionNamepublicStringgetVersionName(){returnversionName;}获取到的值一直是个固定值,https://cloud.tencent.com/developer/ask/sof/555589我们有一个releas......
  • Android开发笔记[6]-离线中文TTS
    摘要在Android上实现离线中文TTS语音播报.源码地址[https://gitee.com/qsbye/AndTheStone/tree/compose]Releasev0p1中有工程压缩包平台信息AndroidStudio:ElectricEel|2022.1.1Patch2Gradle:distributionUrl=https://services.gradle.org/distributions/gradle-......
  • Android 编译和使用libpng
    libpnglibpngistheofficialPNGreferencelibrary.ItsupportsalmostallPNGfeatures,isextensible,andhasbeenextensivelytestedforover28years.Thehomesitefordevelopmentversions(i.e.,maybebuggyorsubjecttochangeorincludeexperimen......
  • Android中OkHttp源码阅读二(责任链模式)
    AndroidOkHttp源码阅读详解一看OkHttp源码,发现OkHttp里面使用了责任链设计模式,所以才要学习责任链设计模式小节2最终会返回ResponseResponsegetResponseWithInterceptorChain()throwsIOException{//Buildafullstackofinterceptors.List<Interceptor>inte......
  • 解决Android studio 更新到2022.3版本后,一直卡在waiting for target device to come o
    解决Androidstudio更新到2022.3.1patch1之后卡在waitingfortargetdevicetocomeonline的问题1.现象在发布一个app的时候,每次走到waitingforalltargetdevicestocomeonline之后,就没有后续了,模拟器没有调起来,更不用谈后续的install。2.原因暂时不明3.解决方法......
  • Android GreenDao数据库使用
    GreenDao介绍GreenDao是一个开源的AndroidORM嵌入式关系数据库,通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”),使用一个简单的面向对象的API来存储、更新、删除和查询Java对象。GreenDao特点●最佳性能(可能是Android中最快的ORM),基准测试也是开源的;●......