五年换了三份工作,28岁Android开发一直苦寻属于自己的归属

2020Android面试心得(二):疫情下的安逸,险在九个面试后斩获三个offer,这份面试总结值得反思 历时一个半月,斩获3个大厂offer,在上一篇文章中整理了大厂常考知识点和一些面试技巧,今天就把我面试的几家公司的面试经历整理出来,分享一波。 下面是大厂面试真题: 1、滴滴 一面 1、View绘制流程。onMeasure、onLayout、onDraw。 2、竖向的TextView如何实现。TextView文字描边效果如何实现。 3、事件分发。冲突解决。 4、动画 5、RecyclerView的特点和缓存 6、SparseArray和ArrayMap。具体实现原理和特性 7、说一下k... 阅读详情

前言

笔者是电子信息工程专业,15年毕业一直在小公司,大学期间主修Java语言,后面从事Android开发工作觉得完全靠自学已经到了自己的天花板,然后想进大型互联网公司发展,所以年前辞职,放弃了年终奖,年后就直接来的北京,面试的公司有稳定的大公司,也有创业型公司,有些创业型的公司面试质量也挺高的,不输于一些大公司,下面会说到。

技术储备

  1. 熟练Java语言,对多线程,IO,集合有一定的理解
  2. 熟练MySql、Sqlite数据库,掌握SQL语言标准,对事务管理有一定认识
  3. 熟练Android四大组件,Intent的使用
  4. 熟练Android Handler消息机制以及AsyncTask异步任务
  5. 熟练Android UI设计以及UI控件的优化
  6. 熟练通过广播、AIDL 实现Android 进程间的通信技术
  7. 熟练Android网络通信、xml/json数据解析,熟练掌握各种数据存储方式
  8. 熟练Android JNI/NDK技术,实现Java与C/C++之间的互调,实现底层功能的扩展
  9. 熟悉Android内存管理之道

10.熟悉常见设计模式:观察者模式,工厂模式,单例模式,代理模式,适配器模式

11.熟悉Android事件分发机制

12.熟悉Linux常用命令,并掌握其平台下的Android开发

13.熟悉Android自定义控件的开发

14.熟悉Android OOM/ANR异常处理

15.熟悉Android蓝牙、传感器、NFC/GPS开发

16.熟悉Android开源框架:AsyncHttpClient,Imageloader、xutils、SlidingMenu等框架。

17.了解svn/git版本控制工具,有良好的编码能力和代码规范

面试经历分享

总共是面了8家,(2小,4中,2大厂) 小的都拿下了,4中里3个一轮游,1个三轮游。2大的都谈薪了。

小公司会比较偏重于业务,面试上也偏重业务,比如做了什么,大概方案,用了哪些库,库的原理。 这些基本上会集中在 图片处理,网络封装,自定义view这几个部分。

大厂会从业务入手,递进深入到原理及相关知识点,尤其集中在原理部分,这里对平时源码阅读有一定要求。 或者直接问对xxx源码有没有了解。

比如一个handler机制,因其涉及的地方特别多而且很容易展开,想完美答好,真的不是一次两次就能行的。

建议每次面试完,都及时对面试内容进行回忆记录, 这里不是为了泄题漏题,以后吹牛逼,这个没有任何意义。 目的是进行复盘,打磨自己的回答。接下来分享两个面经

1、滴滴(已拿offer)

一面

1、View绘制流程。onMeasure、onLayout、onDraw。

2、竖向的TextView如何实现。TextView文字描边效果如何实现。

3、事件分发。冲突解决。

4、动画

5、RecyclerView的特点和缓存

6、SparseArray和ArrayMap。具体实现原理和特性

7、说一下kotlin的优缺点。let和with的区别

8、接口和抽象类的区别,接口中可以有属性么?

9、用过哪些设计模式?策略模式和桥接模式的区别

10、多线程如何实现?有哪些方式?

11、线程池的参数

12、你如何自己实现一个LRUCache?Android里面的LRUCache是如何实现的?

13、synchronized和volatile的区别?为何不用volatile替代synchronized?类锁和对象锁互斥么?

14、gcroot的类型

15、jvm的运行时数据结构。栈帧中会有什么异常?方法区里面存放的是什么数据?

16、动态代理的实现。

17、Gradle的实现,gradle中task的生命周期。

18、Aop、AspectJ、ASM了解么

19、组件化和模块化的区别。ARouter的缺点。

20、MVP、MVVM的优缺点,jetpack中的组件

21、okhttp源码。

22、glide缓存

23、你对flutter的理解

二面

1、react的单向数据流

2、redux的状态管理,如何实现的?关键角色有哪些?

3、flutter的channel通信有哪几种?你用的哪种?插件你如何实现的?

4、flutter的包体积优化

5、自定义View的关键步骤,注意事项,你的理解

6、MeasureSpec讲一下

7、包体积优化

8、混淆的步骤和原理

9、module间的资源文件merge后,生成过多的R文件,处理过么?如何处理?

10、Bitmap内存大小,注意事项,如何优化

11、启动速度优化

12、glide中对Bitmap做了哪些操作?三级缓存?为何在有了内存缓存后,还要持有ActivityRef这个呢?

13、gradle声明周期,task,插件

14、注解:Source和Class、Runtime注解的区别

15、卡顿优化

16、内存泄漏检测及优化

17、RecyclerView的缓存,局部刷新用过么?

18、List的滑动卡顿如何优化

19、Activity中的Window的初始化和显示过程

20、Application中可以显示Dialog么?为什么?

21、泛型擦除,为何会有擦除?擦除的时机。通配符。下面这段代码有问题么?有什么问题?为何会有这个问题?

List<? extends Object> list = new ArrayList<>(); list.add(123); Object obj = list.get(0);

22、synchronized的同步原语

23、锁的几种状态

24、Android热修复原理,tinker的patch文件如何生成,patch文件是全部加载dex文件首部么?

25、插件化原理

26、两个用单链表表示的大数相加,求他们的和。单链表元素的值为0~9。

三面

1、选一个你的项目讲一下

2、技术选型是如何做的

3、优化内存

4、上传的重试机制

5、OOM和内存泄漏

6、包体积优化

7、你最擅长的点

8、你的职业规划

2.新浪

一面

1、封装的Adapter讲解。

2、自定义View:支持换行的尾部标签的实现。

3、IdleHandler调用时机

4、Bitmap内存计算规则

5、glide默认Bitmap的Config配置是ARGB_8888么?

6、下面这段代码有什么异常?如何解决?

private final ArrayMap<String, Boolean> mBlackFirstFrame = new ArrayMap<>();

public boolean getFlag(String key) { return mBlackFirstFrame.get(key); }

7、下面这段代码会有什么问题?如何解决?

public static class Person implements Serializable { private One one; private Two two; }

public static class One implements Serializable {

}

public static class Two {

}

8、Java为何会有线程安全问题?如何解决?

二面

1、vue的binding原理

2、flutter中isolate的原理。

3、promise的原理

4、讲一下你的技术栈

5、讲下OOM原理

6、讲下ANR7、linux中进程间通信的方式,Android为何会自己搞一个?

8、Java中进程间共享的数据是放在JVM那个分区的?Java中主进程和子进程间的通信,通过哪块内存区域?

9、Facebook的litho了解过么?flexbox用过么?

10、热修复用的什么方案?

11、代码质量如何控制?

12、app质量如何控制?

13、你做过的最烂的一件事是什么?最好、最自豪的一件呢?

小结

不管刷多少题,看多少书,更重要的是自己思考,实践出真知!也许这个过程很耗时间,但是,这个不断以代码去验证自己的某些猜想的过程,便是技术成长的历程!

最后

在这里我也分享一份由几位大佬一起收录整理的 Flutter进阶资料以及Android学习PDF+架构视频+面试文档+源码笔记 ,并且还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料……

这些都是我闲暇时还会反复翻阅的精品资料。可以有效的帮助大家掌握知识、理解原理。当然你也可以拿去查漏补缺,提升自身的竞争力。

如果你有需要的话,可以前往 GitHub 自行查阅。

 

 

 

 

相信一定可以帮助到大家

Gemini Ultra实战指南:职场人零代码接入AI工作台 AI工作台正从概念走向日常生产力工具,其核心在于将大模型能力工程化落地为可嵌入真实工作流的智能助手。区别于通用聊天机器人,现代AI工作台需具备稳定多模态解析、长上下文记忆、中文专业语义理解及国内办公场景原生适配等关键能力。Gemini Ultra凭借对PDF/Excel/音视频的深度支持、跨模态协同推理与业务逻辑感知,在合同审核、会议纪要生成、小红书内容重构、销售数据分析等高频任务中展现出显著提效价值。尤其适合无需开发基础的教师、市场专员、自由职业者及中小企业从业者,通过自然语言指令即可完成原本耗时数小时的 阅读详情

相关推荐

Kimi K2:面向专业工作流的推理引擎重构

大模型正从通用问答走向深度任务执行,其核心演进在于推理能力的结构化与工程化。传统RAG依赖静态检索,而新一代推理引擎需融合语义分层索引、多工具协同调用与领域知识蒸馏三大技术支柱,实现对真实业务约束(如法律条款、财务规则、工程参数)的闭环理解与响应。这种能力使模型不再输出泛化答案,而是生成可直接落地的表格、待办清单、合规建议与自动化脚本,广泛应用于招标分析、合同审查、尽调报告、现场OCR诊断等高价值场景。Kimi K2正是这一范式的典型代表,它将长上下文、工具链调度与垂直代理深度融合,让专业工作者聚焦决策而非

weixin_30268921的博客 316

大牛手把手教你!大牛教你怎么学习Android多进程,终获offer

写这篇文章的目的是想说说这段时间一直被不断提起搞得人心惶惶的话题,裁员。为什么突然聊这个,本来一直是想避开这个话题的,一是网上已经有了铺天盖地的消息不想要再造成大家的恐慌,二是我身边几乎没有发生这样的事情,没有什么特别大的感触。但是上周五这件事居然发生在了我身边,谈谈我的感受吧。 当然,事件的主角不是我,具体是哪家厂也不方便透露,怕被找上门,很慌…事情的经过我听同事的描述和网上大家遇到的是大致相同的:早上接到HR电话通知,签字后立马进行交接,收拾东西,下午走人,留下一堆坑,和一脸懵逼的其他同事… 听同事说被

Sunbuyi的博客 298

Gemini 3.1 Flash深度实测:23天真实工作流中的三角平衡设计

大语言模型推理优化本质上是在响应延迟、上下文保真度与计算成本之间寻求动态平衡。随着AI从实验室走向高频办公场景,用户对‘稳定快’的需求远超单纯‘参数大’或‘速度极限’——这催生了以Gemini 3.1 Flash为代表的新型推理架构:它不依赖算力堆叠,而是通过动态计算图调度、上下文感知压缩与混合精度流水线,在中等复杂度任务中实现低延迟、高保真、可预测的输出表现。这类技术特别适用于职场人日常文档处理、多源数据分析、会议纪要生成及教育辅导等强时效性场景,其价值核心在于降低AI使用门槛与维护成本,而非替代专业模型

weixin_30338497的博客 337

2020Android面经,历时一个半月,斩获3个大厂offer,移动端开发工程师面试题

①AMS是如何确认Application启动完成的?关键条件是什么(zygote返给AMS的pid;应用的ActivityThread#main方法中会向AMS上报Application的binder对象)? ②Application#constructor、Application#onCreate、Application#attach他们的执行顺序(132)。Activity和Service呢? startActivity的具体过程。 Activity#setContentView的具体过程。 ①Phon

m0_63737692的博客 462

文心一言提示工程四步法:从模糊提问到精准协同

大语言模型不是搜索引擎,其核心价值在于语义理解与上下文推理能力。文心一言基于ERNIE知识增强架构,擅长处理结构化指令而非泛化问答,这决定了有效使用必须超越‘怎么问’,转向‘如何建模人机协作流程’。提示工程(Prompt Engineering)作为关键方法论,本质是将人类领域知识转化为AI可执行的思维锚点,涵盖角色定义、目标拆解、约束嵌入与迭代优化四大环节。它广泛应用于内容创作、职场办公与教育辅助等高频场景,尤其适合需兼顾专业性、合规性与落地效率的中文工作流。本文聚焦文心一言AI的实际调用逻辑,提供经企业

A08110123的博客 419

3A之自动对焦(AF)算法:从Tenegrad到拉普拉斯的清晰度评价实战

本文深入解析自动对焦(AF)算法的核心——清晰度评价函数,通过实战对比Tenegrad、方差、能量梯度、Brenner和拉普拉斯五大经典算法的原理、代码实现与性能。文章详细阐述了各函数在计算速度、抗噪性和单峰性上的优劣,并提供了从仿真测试到硬件部署的优化策略,帮助开发者根据实际场景选择最合适的AF算法。

weixin_29281915的博客 315

我草-28岁就年薪百万??直到我看到这个Alibaba Android技术图谱,绝了

导语 作为一个Android程序员,所有小伙伴都会有这么一个情况,想学习,不想被淘汰,结果天天加班,只能想想!2021年即将来了马上就是新年了,今年疫情假期都比之前长点,其实这也是一个提升自己最好的机会,现在对于Java开发的而言,对技能的要求比以前高了不是一点! 但是直到今天,我看到这个Alibaba Android技术图谱之后,感觉这里面的内容真是为进击大厂的小伙伴量身打造的!所以,今天特地拿出来分享一下,这个非常值得每一个 Android 开发者去学习和收藏! 技术图谱的优点 内容采用视频的形式,

Android725的博客 385

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

Android开发2年,外包离职后面试十几家中小厂终获offer,Android初级面试题汇总出炉

解决方法:使用开源框架LeakCanary检测针对性解决。 常见的内存泄露有: 单例造成的内存泄露,例如单例中的Context生命周期大于本身Context生命周期; 线程使用Hander造成的内存卸扣,当activity已经结束,线程依然在运行更新UI; 非静态类使用静态变量导致无法回收释放造成泄露; WebView网页过多造成内存泄露; 资源未关闭造成泄露,例如数据库使用完之后关闭连接。 11.View的分发机制,滑动冲突 View的事件传递顺序有3个重要的方法,dispatch

m0_66145114的博客 522

硬件作品3----STM32F103RCT6最小系统板MCU配置

电路未调试成功,目前刚打板,后续需要补充或者改版另行注明。

weixin_58364194的博客 5568

Cadence SpectreRF仿真避坑指南:PSS和Pnoise设置详解(附实战案例)

本文详细解析了Cadence SpectreRF中PSS(周期稳态分析)和Pnoise(周期噪声分析)的关键设置技巧,帮助模拟IC设计工程师避开常见仿真陷阱。通过实战案例分享,涵盖引擎选择、Beat Frequency计算、噪声类型配置等核心参数优化策略,提升仿真精度与效率。特别针对开关电容电路和振荡器等复杂场景提供专业解决方案。

weixin_42613501的博客 602

2024年安卓最新五年换了三份工作,28岁Android开发一直苦寻属于自己的归属,2024年最新推荐学习

如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!这份体系学习笔记,适应人群:**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!9、module间的资源文件merge后,生成过多的R文件,处理过么?6、讲下ANR7、linux中进程间通信的方式,Android为何会自己搞一个?

2401_84545908的博客 347

手把手教你实现阿克曼ROS小车的运动控制

本文详细介绍了如何从零开始实现阿克曼ROS小车的运动控制。内容涵盖硬件搭建、STM32底层PID速度与舵机控制、ROS层阿克曼运动学模型解析,以及上下位机通信协议设计。通过手把手的代码示例和调试步骤,帮助机器人爱好者与开发者掌握将高级速度指令转化为小车具体动作的全流程,实现流畅的阿克曼转向控制。

weixin_29193259的博客 200

五年换了三份工作,28岁Android开发一直苦寻属于自己的归属(1)

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2401_84023314的博客 802

Keil5实战:如何高效导出变量数据并实现可视化分析

本文详细介绍了在Keil5开发环境中,如何利用调试脚本高效导出程序运行时变量数据的方法。通过编写脚本自动捕获数据并保存为文件,再结合Excel或Python进行可视化分析,为嵌入式调试与算法优化提供了数据支撑,显著提升开发效率。

silver的专栏 1106

QMT量化交易桥接方案深度对比:从MiniQMT淘汰说起

量化交易系统中的API桥接,本质是解决本地终端与底层交易引擎之间的通信瓶颈。其核心原理在于绕过GUI封装、直连确定性执行层,从而获得低延迟、高可靠、可监控的指令通路。技术价值体现在策略实盘一致性提升、毫秒级响应保障及运维可控性增强。典型应用场景包括打板策略、T+0套利、高频网格等对时效与稳定性双敏感的自动化交易。本文聚焦国金证券QMT专业版生态,系统剖析DLL注入、HTTP反向代理、IPC共享内存与官方HTTP API四大桥接路径的性能边界、合规风险与工程落地成本,尤其深入解析qmt终端 client is

weixin_33892359的博客 457

GPT-4o生活实用技巧:普通人可立即上手的AI协作者指南

大语言模型不是万能工具,而是需要被精准指挥的智能协作者。理解其本质——基于概率的语言生成系统而非知识库——是高效落地的前提。GPT-4o与GPT-4 Turbo已具备长上下文、多模态理解与毫秒级响应能力,技术水位足以支撑80%日常决策、表达、学习与事务管理场景。关键不在等待更强模型,而在于掌握‘角色设定+结构化指令+分步验证’这一人机协作范式。本文聚焦真实生活断点:从微信语音摘要、合同风险扫描到孩子作业归因、家庭采购归类,所有技巧均满足可感知(5分钟见效)、可中断(支持碎片操作)、可验证(答案有据可查)三大

Envisage123 422

【Microchip】微芯 MPLAB® X IDE开发环境新建项目(点亮1颗LED灯)(常用右键菜单快捷键)

1.新建项目2. 选择芯片型号和调试器3.选择编译器4.项目命名和选择文件路径5.新建成功,给项目添加main.c7.将新建的mainXC16.c文件添加进项目6000000UL这三个就是。

Naiva的博客 454

高准确率陷阱:AI模型Bias的工程化探测与治理

在AI落地实践中,'准确率'作为基础评估指标,常因忽略群体差异、数据分布偏移和业务权重而掩盖系统性偏差。其数学本质是全局均值,易稀释少数群体的高错误率;而真实世界中的Bias往往源于数据采集失衡、代理特征滥用及评估闭环缺陷。技术价值在于将公平性从抽象原则转化为可量化、可嵌入训练流程的约束项(如EOD、DP),并构建覆盖预处理、训练、上线全周期的动态监控体系。典型应用场景包括金融风控中的年龄歧视识别、政务OCR对农民工手写体的鲁棒性优化、零售推荐的信息茧房破除,以及医疗影像中染色偏移导致的漏诊防控。本文聚焦于

weixin_30613433的博客 462

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

AI政策诊所:从法条到执行的七种实战工具

AI治理正从理论探讨迈向可操作落地,核心挑战在于法律条文、技术实现与社会认知之间的结构性错配。理解《生成式人工智能服务管理暂行办法》《欧盟AI法案》等监管框架仅是起点,关键在于将‘不得滥用’转化为可验证的技术动作,把‘算法备案’拆解为API权限配置检查项,使政策真正嵌入监管流程与企业系统。本文基于CAIDP Policy Clinic多年实战经验,系统梳理监管沙盒映射、法条可执行性拆解、技术债审计等七类方法论,聚焦AI合规中的真实堵点——如深度伪造识别难、青少年模式有效性验证弱、跨法域规则冲突等,为监管者、

weixin_30340617的博客 609

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AI公平性陷阱:为什么‘不歧视’不等于‘促平等’

AI公平性是人工智能系统在保障不同用户群体获得公正对待方面的核心能力,其本质在于识别并缓解算法在数据、模型与部署各环节中隐含的系统性偏差。技术原理上,它涉及统计公平性度量(如机会均等差、人口均等)、代理变量探测、反事实验证等可量化方法;其关键价值在于避免‘数学中立’掩盖‘社会伤害’,支撑可信AI落地。典型应用场景包括信贷审批、招聘筛选、医疗辅助诊断与智能推荐等高影响决策系统。本文聚焦‘平等幻觉’的技术成因与可操作评估框架,深入解析AI中equality(实质平等)与fallacy(认知谬误)的张力关系。

weixin_30660027的博客 381

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

AI使用要谨慎:不是少用,而是建立人机权责边界

大语言模型(LLM)作为当前主流AI技术,本质是基于统计模式的文本生成工具,不具备常识推理、上下文理解与责任承担能力。其核心原理在于海量数据的概率匹配,而非人类式的逻辑推演或价值判断。这一技术特性决定了它在法律合规、情感表达、原创决策等场景中存在天然局限,也带来了自动化偏见、事实幻觉和文化失敏等典型风险。因此,‘谨慎使用AI’并非消极规避,而是通过结构化流程——如意图过滤、内容分段干预与责任溯源标注——重建人机协作的权责边界。该方法已广泛应用于文案创作、产品管理、教育实践与中小企业运营等真实工作流,帮助用户

ainixi7099的博客 484
上一篇: 总结了30个例子之后,我悟到了Flutter的布局原理
下一篇: 2021首次发车,Flutter Fair正式开源了
懂你的大海
博客等级 码龄6年 9049粉丝 1381原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值