草庐IT

Android+音视频 全新面试题,求职/跳槽吊打面试官

代码与思维 2024-01-19 原文

每年的金三银四、金九银十都是程序员狂欢的时刻,众多企业在这个时期也都大规模的进行招聘。

就我身边的很多Android开发都有这么一个习惯:跳槽之前都会遍寻各种面试题进行刷题,不过尽管找了很多面试题,面试起来却仍旧一塌糊涂。 并且很多面试题保证答案的准确定,有时候甚至还会文不对题!让人非常头痛。

那么对我们来说跳槽面试该怎样学习怎样复习呢?还在为这些而不知所措吗?

下面我将分享一份2022最新版 《Android/音视频面试开发文档 》包含各个大厂的高频面题及行业最新技术,本套面试文档内容全面、结构清晰,内容包含常问知识点以及部分刁钻、让人头疼的问题,也有部分大厂/企业HR喜欢问的开放性面试题非常适合想要求职/跳槽的伙伴!!

废话不多说: 由于篇幅限制,文中只展示部分内容,完整版《Android/音视频面试开发文档》PDF资料可以留言:面试题【免费获取】

强调一下:【因篇幅问题:文中只放面试题目,答案需要的可找作者获取,留言:【Android面试】即可】

Java 基础部分

抽象类与接口的区别?
分别讲讲 final、static 和 synchronized 可以修饰什么,以及修饰后的作用?
请简述一下 String、StringBuffer 和 StringBuilder 三者的区别?
“equals” 与 “==”、“hashCode” 的区别和使用场景?
Java 中深拷贝与浅拷贝的区别?
谈谈 Error 和 Exception 的区别?
什么是反射机制?反射机制的应用场景有哪些?
谈谈如何重写 equals() 方法?为什么还要重写 hashCode()?
谈一谈 Java 成员变量、局部变量和静态变量的创建和回收时机?
请说说 Java 中 String.length() 的运作原理?

Java 集合

谈谈 Java 中 List、Set 以及 Map 的区别?
谈谈 ArrayList 和 LinkedList 的区别?
请说一下 HashMap 与 HashTable 的区别?
请简述 LinkedHashMap 的工作原理和使用场景?
谈谈对于 ConcurrentHashMap 的理解?

Java 多线程

Java 中使用多线程的方式有哪些?
说一下线程的几种状态?
如何实现多线程中的同步?
谈谈线程死锁,如何有效的避免线程死锁?
谈谈线程阻塞的原因?
谈一谈线程 sleep() 和 wait() 方法的区别?
什么是悲观锁和乐观锁?
什么是 BlockingQueue?请分析一下其内部原理并谈谈它的使用场景?
谈一谈 Java 线程安全的集合有哪些?各有什么特点?
Java 中为什么会出现 Atomic 类?试分析它的原理和缺点?
说说 ThreadLocal 的使用场景?与 Synchronized 相比有什么特性?

Java 虚拟机

请简要谈一谈 Java 中的垃圾回收机制?
回答一下什么是强、软、弱、虚引用以及它们之间的区别?
简述 JVM 中类的加载机制与加载过程?
JVM、Dalvik、ART 三者的原理和区别?
请谈谈 Java 的内存回收机制?
什么是 JMM?它存在哪些问题?该如何解决?

Android 方面

Android 考察点比较纷杂,以下针对之前收录的面试题做一个大概的划分:
###Android 四大组件相关
Activity 与 Fragment 之间常见的几种通信方式?
谈谈 Android 中几种 LaunchMode 的特点和应用场景?
BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?
对于 Context,你了解多少?
IntentFilter 是什么?有哪些使用场景?匹配机制是怎样的?
谈一谈 startService 和 bindService 方法的区别,生命周期以及使用场景?
Service 如何进行保活?
简单介绍下 ContentProvider 是如何实现数据共享的?
说下切换横竖屏时 Activity 的生命周期变化?
Activity 中 onNewIntent 方法的调用时机和使用场景?
Intent 传输数据的大小有限制吗?如何解决?
说说 ContentProvider、ContentResolver、ContentObserver 之间的关系?
说说 Activity 加载的流程?

Android 异步任务和消息机制

HandlerThread 的使用场景和实现原理?
IntentService 的应用场景和内部实现原理?
AsyncTask 的优点和缺点?内部实现原理是怎样的?
谈谈 Android 中消息机制和原理?
为什么在子线程中创建 Handler 会抛异常?
试从源码角度分析 Handler 的 post 和 sendMessage 方法的区别和应用场景?
Handler 中有 Loop 死循环,为什么没有阻塞主线程,原理是什么?

Android UI 绘制相关

此类主要涵盖 Android 的 View 绘制过程、常见 UI 组件、自定义 View、动画等。
View.post() 为什么可以获取到宽高信息?
谈一谈属性动画的插值器和估值器?
getDimension、getDimensionPixelOffset 和 getDimensionPixelSize 三者的区别?
请谈谈源码中 StaticLayout 的用法和应用场景?
谈一谈 SurfaceView 与 TextureView 的使用场景和用法?
有了解过WindowInsets吗?它有哪些应用场景?
Android 中 View 的几种位移方式的区别?
为什么 ViewPager 嵌套 ViewPager,内部的 ViewPager 滚动没有被拦截?
请谈谈 Fragment 的生命周期?
请谈谈什么是同步屏障?
有了解过 ViewDragHelper 的工作原理吗?
谈一谈Android的屏幕刷新机制?

Android 性能调优相关

谈谈你对Android性能优化方面的了解?
一般什么情况下会导致内存泄漏问题?如何解决?
该如何给 Apk 瘦身?
说一下你是如何优化 App 启动过程的?
谈谈代码混淆的步骤?
说说 App 的电量优化?
谈谈如何对 WebView 进行优化?
如何处理大图的加载?
谈谈如何对网络请求进行优化?
请谈谈如何加载Bitmap并防止内存溢出?

Android 中的 IPC

请回答一下 Android 中进程间通信有哪些方式?
请说一下 Android 7.0 的新特性?
谈谈 ArrayMap 和 HashMap 的区别?
简要说说 LruCache 的原理?
Android 中为什么推荐用 SparseArray 代替 HashMap?
PathClassLoader 和 DexClassLoader 有何区别?
说说 HttpClient 与 HttpUrlConnection 的区别?为何前者会被替代?
什么是Lifecycle?请分析其内部原理和使用场景?
谈一谈 Android 的签名机制?不同版本下的签名有什么不同?
谈谈安卓 Apk 构建的流程?
简述一下 Android 8.0、9.0 分别增加了哪些新特性?
谈谈 Android 10 更新了哪些内容?如何进行适配?
请简述 Apk 的安装过程?
Java 与 JS 代码如何互调?有做过相关优化吗?
什么是 JNI?具体说说如何

第三方框架分析

谈一谈 LeakCanray 的工作原理?
说说 EventBus 的实现原理?
谈谈网络请求中的拦截器 - Interceptor 的实现原理和使用场景?
谈一谈 Glide 中的缓存机制?
ViewModel 的出现是为了解决什么问题?并简要说说它的内部原理?
请说说依赖注入框架 ButterKnife 的实现原理?
谈一谈 RxJava 背压原理?

综合技术

请谈谈你对 MVC 和 MVP 的理解?
分别介绍下你所知道的 Android 中几种存储方式?
简述下热修复的原理?
谈谈你是如何适配更多机型的?
请谈谈你是如何进行多渠道打包的?
MVP 中你是如何处理 Presenter 层以防止内存泄漏的?
如何计算一张图片所占的内存空间大小?
有没有遇到 64k 问题,应该如何解决?
如何优化 Gradle 的构建速度?
如何获取 Android 设备唯一 ID?
谈一谈 Android P 禁用 HTTP 协议对我们开发有什么影响?
webp 和 svg 格式的图片各自有什么特点?应该如何在 Android 中使用?
说说你是如何进行单元测试的?以及如何应用在 MVP 和 MVVM 中?
如何绕过 Android 9.0 针对反射的限制?
对于 GIF 格式的图片加载有什么思路和建议?
为什么要将项目迁移到 AndroidX?如何进行迁移?
你了解过哪些Android屏幕适配方面的技巧?

数据结构方面

什么是冒泡排序?如何去优化?
请用 Java 实现一个简单的单链表?
如何反转一个单链表?
谈谈你对时间复杂度和空间复杂度的理解?
谈一谈如何判断一个链表有环?
手写二叉树结构?
什么是红黑树?为什么要用红黑树?
什么是快速排序?如何优化?
说说循环队列?它有哪些应用场景?
如何判断单链表交叉?

设计模式

请简要谈一谈单例模式?
对于面向对象的六大基本原则了解多少?
请列出几种常见的工厂模式并说明它们的用法?
说说项目中用到的设计模式和使用场景?
什么是代理模式?如何使用?Android源码中的代理模式?
谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?
谈谈你对原型模式的理解?
请谈谈策略模式原理及其应用场景?
静态代理和动态代理的区别,什么场景使用?
谈一谈责任链模式的使用场景?

计算机网络方面

请简述 Http 与 Https 的区别?
说一说 HTTPS、UDP、Socket 之间的区别?
请简述一次 HTTP 网络请求的过程?
谈一谈 TCP/IP 三次握手、四次挥手过程?
为什么说Http是可靠的数据传输协议?
TCP/IP 协议分为哪几层?TCP 和 HTTP 分别属于哪一层?
Post 中请求参数放在了哪个位置?

Kotlin 方面

请简述一下什么是 Kotlin?它有哪些特性?
Kotlin 中注解 @JvmOverloads 的作用?
Kotlin 中 List 与 MutableList 的区别?
Kotlin 中实现单例的几种常见方式?
谈谈你对 Kotlin 中的 data 关键字的理解?相比于普通类有哪些特点?
什么是委托属性?请简要说说其使用场景和原理?
请举例说明 Kotlin 中 with 与 apply 函数的应用场景和区别?
Kotlin中 Unit 类型的作用以及与Java中 Void 的区别?
请谈谈 Kotlin 中的 Coroutines,它与线程有什么区别?有哪些优点?
Kotlin中可见型修饰符有哪些?相比于Java有什么区别?
分别通过对象表达式 object 和 lambda 表达式实现的函数式接口内部有何不同?
Kotlin 中集合遍历有哪几种方式?
为什么协程比线程要轻量?

开放性问题

你知道哪些提升开发效率的骚操作?
在开发过程中你遇到过的最大的难题是什么?如何解决的?
说说你未来的职业规划是怎样的?
你是如何看待 Flutter,React Native 与 Android 关系的?

音视频

为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
怎么做到直播秒开优化?
直方图在图像处理里面最重要的作用是什么?
说一说ffmpeg的数据结构?
数字图像滤波有哪些方法?
图像可以提取的特征有哪些?
衡量图像重建好坏的标准有哪些?怎样计算?
AAC和PCM的区别?
H264存储的两个形态?
FFMPEG:图片如何合成视频
常见的音视频格式有哪些?
列举一些音频编解码常用的实现方案?
在MPEG标准中图像类型有哪些?
请叙述MPEG视频基本码流结构?
sps和pps的区别?
请叙述AMR基本码流结构?
说一说AVFormatContext 和 AVInputFormat之间的关系?
说一说视频拼接处理步骤?(细节处理,比如分辨率大小不一,时间处理等等)
NV21如何转换成I420?
DTS与PTS共同点?
影响视频清晰度的指标有哪些?
编解码处理时遇到什么困难?

再次强调一下:【因篇幅问题:文中只放面试题目,答案需要的可找作者获取,留言:【Android面试】即可】

有关Android+音视频 全新面试题,求职/跳槽吊打面试官的更多相关文章

  1. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  2. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  3. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  4. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  5. Hive SQL 五大经典面试题 - 2

    目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类

  6. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  7. ruby - 如何更改此正则表达式以从未指定 v 参数的 Youtube URL 获取 Youtube 视频 ID? - 2

    目前我正在使用这个正则表达式从YoutubeURL中提取视频ID:url.match(/v=([^&]*)/)[1]我怎样才能改变它,以便它也可以从这个没有v参数的YoutubeURL获取视频ID:http://www.youtube.com/user/SHAYTARDS#p/u/9/Xc81AajGUMU感谢阅读。编辑:我正在使用ruby​​1.8.7 最佳答案 对于Ruby1.8.7,这就可以了。url_1='http://www.youtube.com/watch?v=8WVTOUh53QY&feature=feedf'url

  8. 西安华为OD面试体验 - 2

    西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,

  9. 蓝桥杯C/C++VIP试题每日一练之报时助手 - 2

    ?作者主页:静Yu?简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者?社区地址:前端知识交流社区?博主的个人博客:静Yu的个人博客?博主的个人笔记本:前端面试题个人笔记本只记录前端领域的面试题目,项目总结,面试技巧等等。接下来会更新蓝桥杯官方系统基础练习的VIP试题,依然包括解题思路,源代码等等。问题描述:给定当前的时间,请用英文的读法将它读出来。时间用时h和分m表示,在英文的读法中,读一个时间的方法是:  如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“threeo’clock”。  如果m不为0,则将时读出来,然后将分读出来,如5

  10. [面试直通版]操作系统核心之进程、线程与协程(下) - 2

    点击->操作系统复习的文章集目录操作系统线程线程是什么进程与线程的关系用户态/内核态操作系统资源管理内核态用户态内核态/用户态切换程序运行类型分析计算密集型IO密集型结合进程,线程来理解程序运行类型分析协程基础上下文切换协程协程为什么叫协作式线程?协程的优缺点操作系统线程典型问题:简述进程和线程的区别以下内容带您一步步了解线程是什么比进程更小的独立运行的基本单位-线程(Threads)线程的提出主要是为了提高系统内程序并发执行的程度,从而进一步提升系统的吞吐量,充分发挥多核CPU的优越性而设计的引入进程是为了操作系统更加方便地管理程序,使得多个程序能并发管理和执行而线程则是为了减少程序在并发执

随机推荐