面试|2024 菜鸟金三银四铜五 Android 被锤历程出炉,所有碰壁的心酸都是技术的不牢固带来的_中广创思面试评价

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

去相信会在一起
人潮拥挤我能感觉你
放在我手心里你的 Offer

随着五音不全的歌喉,2021 年**面(被)试(锤)**正式开始…

个人简介

  • 5 年工作经验,后将近三年技术栈野蛮生长(Flutter、微信小程序、PHP、H5、后台 Api、PS 等…)
  • 96 非本非专,高中学历。已报名成人函授,24 年 1 月下证;
  • 无大厂光鲜履历以及较好项目,小公司,项目类型杂乱;

求职渠道

  • BOSS/拉勾:记得提前查询公司信息,提前避坑;
  • 内推:个人推荐有底气的直接走这个较好。建议优先线上,节省双方时间,后续可以约线下。

关于跳槽

对于跳槽,个人其实相对比较抵触,相比来来回回跳,内心更趋向于随着公司的成长而成长…

可事实岂能如人愿?

此想法还是太过于理想主义,但至少这是个简单、真挚且内心一直期望的小梦想…

不过也是,及时的从温水区离开,走向更远的地方,看更多的风景,未尝不是一种更好的选择…

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

真的是狗血鸡汤,总要苦过一阵子…

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

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

不管如何,一起加油~

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

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

或者说,初心不变吧…

在此别过,江湖再见,祝君更好~!

面试题的答案都已整理好,需要的点击 这里 查看获取方式。

漫漫坎坷面试路…

以下面试题并不完善,有一些由于紧张忘记了,😂 大家见谅…

一起加油,努力找到自己喜欢的公司~!!!

关于 Title 公司五星说明:
  • 58 最棒!感谢 58 面试官,全程平易近人,全程都是在找我个人的优势,帮我总结,另外后续很贴心的指出简历上存在的不足,包括对个人的一些建议,全程由好到爆,而且面试老哥实打实的从我个人的角度出发,去替我认认真真分析。感觉不像是面试,更多的是学习,能感受到一丝丝鸡老大的感觉。强烈推荐 Android 小伙伴参与投递,还是要有一些学历哈,技术贼牛掰的大佬除外。
  • 亚洲创新集团、Keep、中科物栖、微爱面试老哥也是蛮不错的,贼老贴心,最后还不忘记鼓励以及提出建议,强烈推荐~
2021-3-1 雅识(做老年人产品)

电话沟通大概 30 分钟左右,整体来看面试官相对较为随和。

面试内容:

  • 你是如何跨地区协调处理开发相关事宜,痛点是什么,如何解决,请详细列举说明。
  • 关于任务安排,我们想具体了解任务细化的范围,请详细列举说明。
  • 关于前后端配合,这块有什么痛点,你又是如何解决的?
  • 针对你个人经验,来谈谈 Flutter 和移动端的优劣势,排除性能相关。
  • 工作中会编写测试用例吗?用过哪儿些?自动化测试工具呢?
  • 举例说明你在工作中最有成就感、最有难度的一个事儿。
  • 我看你最近在应用上架,简单聊聊目前应用上架需要注意的细节以及槽点。
  • 平时工作中会去关注卡顿率么?你是如何处理卡顿?
  • Code Review 你们是怎么做的?为什么这么做,请说明原因。
  • 简单聊下你为什么会选择离职以及为什么选择我们公司的原因。

面试感受:

对于回答面试官的答复,条理性还是有些欠缺,下次脑子里先过一遍,有个轮廓在慢条斯理答复。面试官感觉蛮友好的。😂

2021-3-6 Keep(硬件)⭐️⭐️⭐️⭐️

13:30 进 15:46 出来,Keep 公司环境蛮不错的,望京南附近,接待的小姐姐很友好,流程处理很快,门口保安大哥蛮贴心,给了一瓶水。

Keep 分两个面试官先后面试,具体第一个面试官职称忘记了,简称软件面试官吧,应为后续的面试官是硬件方向的,希望小哥哥看到我这么描述别干我,😂

面试内容:

1、软件面试官:

  • 自我介绍、工作履历简述。
  • SVN 和 Git 区别?描述下 Git 提交过程以及什么是工作区和暂存区?
  • Git 中 merge 作用?和 rebase 有什么区别?
  • Java 中强引用、软引用、弱引用、虚引用区别。
  • Https 和 Http 区别,内部使用哪儿些算法。
  • 对称加密和非对称加密区别。
  • Jetpack 实际项目中用过哪儿些?
  • 简述 Apk 包大小优化思路。
  • Kotlin 拓展函数怎么实现的?基于什么原理。
  • Kotlin 属性委托怎么实现的?基于什么原理。
  • 简述 SharePreferences 以及过程中遇到的问题。
  • 为什么选择 MMKV,MMKV 有什么优势,内部原理是什么?
  • 简述 Handler 以及原理。泄漏怎么解决?

2、硬件面试官:

  • Flutter 实际开发经验有多久?使用/了解过 Flutter 混编吗?
  • 怎么优化的 Flutter 包大小?
  • Flutter 中 Element、Widget 简述。
  • Android Compose 了解过吗?简述一下。
  • so 库动态加载有了解过吗?
  • 简述 MMKV 原理。
  • SharePreferences 有什么缺陷?支持跨进程吗?
  • 在不使用任何三方库,如何实现弹幕功能?如何保证低端机上流畅性。
  • 自定义弹幕中,你 Model 怎么设计?View 又怎么设计?
  • RecyclerView 和 ListView 有什么区别?
  • RecyclerView 缓存原理。
  • 在不使用任何三方库以及系统提供控件,如何实现 RecyclerView 下拉刷新?
  • 直播是什么实现的?需要注意的有什么?使用过的视频格式有什么?如何保证视频以及文字/语音同步性?
  • 开发过音频相关吗?用的是什么?音频格式是什么?
  • 微信小程序使用什么开发的?Vue 还是?

面试感受:

  • 公司环境很 nice,整栋楼都是,我还在下面找了半天。
  • 面试官很不错,一面面试官我都能感受到尴尬了,问啥啥不会,扎心的一批,没好好背,面试官一进来直接后背全湿透了,手动滑稽。二面面试官问的很全面,有技术、有业务、也会现场出场景,回答对应方案,以及其中存在的不足。整理来看很不错,强烈推荐小伙伴去 Keep,全程友好到极致。
  • 所谓的八股文还是要背的,不然仅仅使用还是不够的。白白错失好的机会,蛮可惜的。
2021-3-9 快手(架构组)⭐️⭐️⭐️⭐️

牛客网线上面试,煎熬的 22 分钟,都能感觉到面试官的无语,也算是一场经历吧。

面试内容:

  • 自我介绍以及学历简述。
  • HashMap 内部存储是怎样的?
  • hash 冲突是个什么概念?冲突之后怎么解决?
  • 哈希桶是什么结构?
  • 链表结构节点是怎样的?
  • Java 中的 volatile 是线程安全的吗?如果对他做自增操作,例如 a++。
  • Handle 中的 postDelay 实现原理是怎样的,它是怎么实现的延迟处理?
  • 优化线上 Apk 大小都了什么操作?做完 Apk 大小之后从多少降低到多少?
  • 下载转换率怎么统计的?
  • 假设现在给你个需求,需要在打包的过程中去处理图片,你有什么思路?在哪儿个 task 去做 hook?
  • 资源编译的流程是什么样的?
  • 360 加固原因是什么?
  • 你觉得加固或者安全方面,应该从哪儿个方面入手?Dex 层怎么处理能防止反编译?
  • so 加固你知道有什么方案吗?
  • 你比较擅长什么?设计或者某个技术有比较深的了解?
  • 责任链模式简述,一般用于什么场景下。
  • 你怎么理解的依赖倒置设计,具体在什么场景下使用?

面试感受:

只能说个人平时对底层关注较少,很多东西了解的不够透彻。感谢老哥最后仍不放弃,尝试问我有什么优势或者哪儿些我擅长的地方没有问到,感谢~

2021-3-10 58 ⭐️⭐️⭐️⭐️⭐️

58 得坐公交,下地铁还有六站地,搞得有点晕车。环境没得说,高大上。对于我这小司简直是刘姥姥进入了大观园。58 面试官很不错,很贴心,一场面试,一场交流,非常感谢。祝面试官早日晋升,超神吧~

面试内容:

  • 自我介绍、学历说明。团队规模多大,团队角色。项目为什么做的这么杂?
  • Flutter 实际经验有多久?有混编经验吗?
  • 和 RN 对比后怎么会选择的 Flutter?Flutter 相比 RN 有什么优势?Flutter 不支持热更你怎么看?
  • 如果现有项目想接入 Flutter,需要做一些什么样的前提准备?或者是否考虑混合方式?
  • 在 Flutter 中遇到过一些什么问题?
  • Flutter 地狱嵌套有什么好的解决方案?
  • Flutter 有涉及到状态管理方面吗?具体说下。
  • Flutter App 针对应用崩溃是如何监控的?
  • 假如说我们现在有款产品需要快速迭代,在不考虑人力成本的前提下,你是如何决策使用某种技术以及原因。
  • 你了解的大厂混编方式有哪儿些?
  • Java 迁移 Kotlin 是什么时候进行?是你主导迁移吗?基础组件也迁移了吗?你是如何说服领导进行技术升级?
  • 迁移过程中遇到过哪儿些问题,团队怎么磨合?升级过程中是否涉及到版本升级这块内容,怎么处理?
  • Kotlin 协程有用过吗?简单描述。
  • 协程挂起组装和 RxJava 有什么区别吗?
  • 协程的挂起和我们平时使用的线程挂起有什么区别吗?
  • App 中有开启多进程操作吗?有多进程开发经验吗?
  • 插件化、组件化了解过吗?
  • 模块化是怎么划分的?划分的模块复用率是怎样的?
  • 页面间的通信是怎么做的?
  • 性能上优化是怎么操作的?
  • 内存优化以及统计怎么处理的?
  • 内存泄漏怎么处理的,什么情况下导致泄漏?
  • 图片优化怎么做的?
  • Glide 原理底层是什么样的,说说简单理解。
  • 关于图片缓存有没有做过一些处理?
  • 你了解一张图片在内存中和硬盘中所占空间大小吗?
  • 是否在布局这块有过优化?具体怎么操作的?使用过约束布局吗?简单描述。
  • 项目中有做过一些统计、埋点吗?怎么操作吗?有研究过一些静态 hook 方案吗?
  • 关于 Android 中插桩、注入有了解过吗?
  • Apk 瘦身具体是什么操作吗?
  • 关于自定义 View,有没有比较做过比较好的?常用的方式是什么样的?
  • 个人 Github 大概内容是什么样类型的?

面试感受:

58 真的是有史以来体验最棒的,全程面试官一直在试图给我总结亮点,挖掘优势,甚至多次提到,有什么你擅长的东西我没问到的吗?很平易近人,很好,很贴心。老大也说过,好的面试官是回去挖掘你的优势。聊了很多吧,发散面很广泛,大厂老哥说话很精简,基本是我啰啰嗦嗦废话一通,老哥几个关键词概括,而且有理有据。给我提了很多建议,很不错,很贴心的一个老哥。从 58 出来很开心,默默看了 58 好久,突然爱了。😂 再次感谢面我的老哥~也希望互联网多一些和老哥一样的人。

真的是,知道而为实践,终究还是纸上得来终觉浅。感谢老哥,学习到很多。强烈推荐去 58 看看,哪儿怕和我一样被挂了,也能学到不少东西。

2021-3-17 微软

微软是直接下来一轮笔试,一帮人坐在会议室,刷刷写。

当时旁边有个小姐姐,上来一通写,给我整懵了,感觉好强。然而好景不长,开始涂了,随后各种唉声叹气。整的我无语到了极限…

算法貌似有四道,就记住两道,剩下忘干净了,瞧我这脑子啊…

算法内容:

  • 写个方法,接受一个字符串,输出反转后的字符串。
  • 假定现在有 s1 和 s2 两个字符串,求最长公共值。

Android 内容:

  • Android 动画有几种?区别是什么?版本发布前推荐使用什么动画?和用户交互推荐使用什么动画?如果两者都要兼顾呢?说明理由。
  • 如何实现代码封装,如何保证团队多人开发代码复用。
  • Android 中 UI 适配的方式有什么?举例说明。
  • 项目中的 Log 模块如何设计?
  • 手写实现 event bus 关键部分。
  • MVP 是什么?有什么优势?手写关键部分。

面试感受:

环境蛮不错,贼老大。可以和鸡老大吹水了,我也是进过微软的男人啦~

2021-3-18 汽车之家

前期发生了一些不愉快,门口保安大叔去热饭了,折腾半天才进去。给 hr 打电话,hr 让找前台登记,找半天没找到,问了一个同事,人直接说哪儿有前台。无奈之下又打电话,又让找水吧,最后得亏大爷热饭回来了,给我带过去了。贼郁闷。还是建议邮件直接写明较好吧。

面试内容:

  • 自我介绍。
  • 从你项目中列举一个你觉得比较有成就感的项目来说说。
  • 从架构上、组件化、插件化或者解决问题的角度上来介绍下你做了哪儿些工作,有什么深刻印象积累?
  • 简单说下常用的 support 包有哪儿些和 androidx 相关的。
  • 既然有 support 包的存在,为什么还要出现 androidx 呢?
  • 对 App 大小优化是怎么操作的?
  • 屏幕适配怎么做的?
  • 比如说,现在有个需求,大分辨率手机一行显示 30 个,小屏幕手机一行显示 20 个,如果是你的话,你会怎么实现?
  • 常见的内存溢出场景有哪儿些?
  • 项目中列表使用 ListView 多还是 RecyclerView 比较多,简单说说。
  • RecyclerView 如何更新一条数据?
  • MVVM 和 MVP 有什么区别?你更喜欢用哪儿种模式,为什么?
  • Retrofit 如何全局监听相应体,比如我现在需要把请求信息全部打印出来。拦截其中具体是如何实现的?
  • Android 中的多线程是如何处理?如果多任务情况下如何处理?
  • Android 中线程池你了解多少?
  • 你项目中全部迁移 Kotlin 了吗?为什么迁移?
  • 你感觉 Flutter 适合用于什么项目类型/场景?
  • Flutter 列表高速滑动和原生列表有什么性能差异性?
  • 你用 Flutter 做列表有没有做过一些列表方面的性能优化?
  • 灰产 App 中主要用了哪儿些技术,解决了什么问题?
  • 你是出于什么想去破解逆向其它 App 的?有尝试过破壳吗?
  • 离职原因以及学历说明。

面试感受:

相比其他家的 hr,汽车之家的多少让人感觉比较无语。可能也是,毕竟我还是小渣渣,要是鸡老大,可能会好很多吧。面试官很友好,问的很全面。就是面试环境不咋地,后期应该到吃饭时间,好多人,很吵,得趴着凑过去说话,回家听录音进行复盘,后期全是一个小姐姐狂野的笑声。😂

2021-3-19 亚洲创新集团(社交)⭐️⭐️⭐️⭐️⭐️

周五下午迷迷糊糊就接到电话了,想着去溜达溜达一圈,结果失策了。公司环境很不错,从前台小姐姐到 hr,再到面试官,最后直接给我整的老后悔了,被朋友一通 diss,哪儿来的胆子,不做任何准备,直接下雨杀过去…

面试内容:

  • 工作多久了,你觉得你和其它 Android 工程师相比,有什么优势。
  • 你的 GitHub 主要内容是什么?
  • 假如当你带小朋友,你是如何和他进行分享以及帮助等?
  • 你持续写东西,输出的动力是什么?
  • Kotlin 用多久了,你认为你的 Kotlin 掌握水准在哪儿?初级、中级、高级?
  • var、val、let、apply 有什么区别?
  • let 返回 it,apply 返回 this,它们有什么区别?为什么这么设计。
  • lateinit 作用是什么?
  • Kotlin 协程有用过吗?用在什么场景?
  • 协程是个什么东西?
  • 有了解过协程如何切换线程原理吗?
  • Retrofit 和 OkHttp 是什么关系?
  • Retrofit 是如何通过注解来方便我们 api 调用?基于什么原理。
  • JetPack 用过哪儿些?
  • ViewModel 用来做什么的?
  • ViewModel 如何实现生命周期绑定?
  • ViewModel 为什么存在?那我直接创建个类不可以吗?如何实现数据绑定。
  • ViewModel 如何实例,如何使用的?
  • LiveData 如何实现的?
  • LiveData postValue 和 setValue 赋值,这两个会不会丢失数据,有没有遇到过?
  • MVC、MVP、MVVM 区别是什么?
  • Rxjava 用的多么?map 和 flatMap 有什么区别。
  • RxJava 使用哪儿个操作符能保证顺序执行?
  • 如果让你自己设计一个 Glide 你会如何设计?
  • RGB_565 每个像素点占多少内存?
  • 为什么会使用 RGB_565?
  • 为什么要对图片进行一些压缩?那服务器直接给我们直接裁剪指定尺寸大小不就好了。
  • 假设现在有一张 1MB 图片,我直接设置给 ImageView,那么它在内存中占用空间有多大?
  • 性能优化都做过哪儿些内容?
  • 瘦身的话,我们都是怎么做的呢?
  • armeabi 和 armeabi-v7a 有什么区别?
  • so 库可不可以动态加载,如何实现?
  • Android 版本从 5.0 到 12 都更新了什么东西?
  • Android 5.0 ART 是个什么东西,具有什么优势。
  • 今天的面试,自我感觉怎么样?

面试感受:

和面试官聊着,聊着,突然很想去,如果我 Leader 是这样的该多好。可惜啊,这里奉劝大家一定要做好面试准备,不能浪费每一次面试机会。

超级喜欢这样的 Leader!!!

2021-4-20 平行未来

面试内容:

  • 自我介绍,公司、团队介绍、人员配比情况,简单说下项目情况,学历情况说明。
  • 直播用的哪儿家?有看过源码或者优化吗?
  • 就你一个 Android 会不会感觉孤独?
  • 离职原因是什么?
  • 您擅长哪儿些?
  • 说下如何进行瘦身?
  • 微信资源压缩,如果让你实现,你能实现吗?
  • 微信资源压缩原理是什么?
  • 启动优化过哪儿些内容?
  • 内存做过哪儿些优化?
  • 异步实现方式有哪儿些?
  • 简单说下 Handler。
  • 在一个线程中,可以创建多个 Handler 吗?
  • 一个线程中有两个 Handler,那么它有几个消息队列?
  • 消息队列中如何判断当前消息是归属于哪儿个 Handler 得呢?
  • 我能在子线程中创建一个 Handler 吗?
  • 子线程中为什么可以弹 Toast?
  • Looper 更深层次原理你了解吗?
  • 自定义 View 做过哪儿些?
  • 假设自定义 iOS 进度对话框,转圈使用逐帧动画,那么在什么时候销毁呢?
  • 两种实际业务考察以及最终布局考察。

面试感受:

老哥人不错,个人对基础知识掌握不够,还不深入,停留表面,就好像老大说的,仅仅掌握技术层面上的一层油,深入就完蛋。

2021-5-12 中广创思(车载)

进去先做题,4 道题,看的出来算是公司项目常用的场景。个人建议还是取消做题环节吧,直接开面,咱们唠起来,快速有效的进行面试,而且避免耽误更多时间,有时候临场反应更能代表个人真实水平(小白理解)。目前应聘 Android 岗位主要是负责将现有产品迁移车载平台相关开发工作,剩下可能还有一些待立项的项目开发。

面试内容:

一面小哥哥:

最后我想说

为什么很多程序员做不了架构师?
1、良好健康的职业规划很重要,但大多数人都忽略了
2、学习的习惯很重要,持之以恒才是正解。
3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展
4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

技能。**

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-akuAfGra-1713393739445)]

里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-32uQoUed-1713393739445)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值