2024我的android大厂面试之旅!(给2024的你们一些建议)(2)

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

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

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

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

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

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

正文

###前言
更新一波,人品爆发,收到了头条的 offer call,最后的压轴 offer 感谢自己抓住了进大厂的最后机会。

在 5~6 次笔试未通过后。头条补招,今年看来是真的缺人,直接联系了 HR,说明了自己的 offer 情况。安排了第二天的面试,一二面感觉不是很难,有个 100 层楼扔杯子的智力题,自己太傻,面试官提示了好久才想出个答案。面完之后,发现最优答案需要用动态规划?卒!第三面,也是算法题占大头,如果找出一个数组中出现次数超过一半的数字,这道题在剑指offer上出现过,但是当时看到那个 partion 算法好复杂,就没有仔细看。经过面试官的提示,终于磕磕绊绊地写出了代码。

还问了我完全二叉树的深度如何计算,怎么证明?磕磕绊绊地写出了一个公式,证明真的不会。最后面试官告诉我,可以通过完全二叉树的最少节点数和最多节点数,这个范围,进行一些数***算,可以证明出来。头条三面,虽然面的不是很顺利,但是也能在面试官的提示下,越来越接近正确答案。总之,遇到比较难的问题,不要轻易放弃,尽最大可能地去想,必要可以寻求面试官的帮助。这样才能体现出自己不畏难题,勤于思考的能力呀!


昨天收到了猫眼的 offer,薪资啥的挺符合期望的。虽然在北京,但是对比手上的 offer,南京小米,杭州贝贝网,综合考虑还是打算去北漂好了。回想起高考的时候,嫌弃北京地铁挤,雾霾严重,最终选择了南方。毕业工作的时候还是要去北京。现在只能想着离家近一点,团队技术强,让自己成长更快一点(哈哈哈,都是给自己强行找理由)。

秋招大概从8月份多开始,大大小小的公司有投了 30 家左右。大部分公司要么是笔试没有通过,要么是投递简历后,直接没有消息。真正面试的公司差不多有 网易、cvte、贝贝网小米、招银、华为猫眼、海康,微医、尼禄软件。感觉自己前期没有对秋招很重视,只投了几个杭州的公司。有些公司后期投递之后什么消息都没有,像 vivo爱奇艺什么的估计人都招满了。所以前期还是需要做好充分的准备,不要到 10 月份再投,那时候机会就不多了。

秋招的前大半段时间是实习和笔试面试同步进行的,时不时需要晚上跑回自己租的房子那边做笔试,或者在公司接个电话面试,还是很刺激的。如果有第二次机会的话,我可能会尽早地结束实习,毕竟很多面试,笔试是需要准备的。每天快 10 点回去真的没有精力去准备。

第一个面试是网易的提前批面试,一面挂。当时实习请假一周回家了,但是在家里由于种种事情,也没有好好准备。只在高铁上准备了一天,第二天抱着侥幸的心里去面了,当时对数据结构和算法真的一点都没有准备。一面面试官问到树的时候,都蒙了,不知道怎么答。面试官看我有点蒙蔽,让我说了个冒泡排序。最后没有二面通知。不过帮我报销了从家到杭州的高铁票,哈哈哈,也值了。

第二个面试是 cvte 的电话面,电话一面虽然答的磕磕绊绊,连 service 两种启动方式都答不上来,但是还是给了视频二面的机会,视频二面,面试官问了很多性能优化的问题,当时的自己基本上没有涉及到这个方面,连内存泄漏和内存溢出都搞不清楚。最终二面挂了。

中间有段时间还在校园招聘会上投了四封简历,去了两家,微医让我去实习,考虑之后给拒绝了。尼禄软件本来是看着是一个德国企业,去了之后感觉好 low,让我看书自学,但是结果是他给我发来了拒信,反正也不去,也不在乎了。

国庆前几天提出了离职,中间有天去了浙大,参加了微策略的宣讲会和笔试,可能宣讲人说他们主要招浙大、清华、北大吧,要求太高,没有收到面试通知。不过对外企的工作时间,和各种福利真的羡慕,双非只能继续找工作。

国庆后,正式提出了实习离职。这之后,似乎运气也好起来了。先面了贝贝网,虽然等的时间有点长,但是两面的体验都还不错,技术细节没有怎么问,都是问了项目情况和实习情况。这和我室友之后去面的情况有点不一样,上来直接怼算法。第二天就去一个酒店面小米,整整面了快一天,这个运气也是比较好,和同一个面 Android 的老哥交流了一些问题,相当于提前了解了面试官要问啥。最终,小米当场面到了 HR,HR 当场给了我口头 offer,那可能是我今年最高兴的一刻,所有的就业压力都释放了。回的路上滴滴师傅怪我没有及时看到他的车,我都觉得很开心,完全不 care。这应该是我秋招最难忘的时刻了。过了两天,贝贝网 HR 来了 offer call,开心地声音都在抖。又多了一个选择。

之后又相继面了招银和华为,感觉招银不需要 Android 开发,一面面试官狂怼 Java 后端技术,Android 技术感觉是在看着事先写好的问卷来问。二面的时候,展示作品的时候,APP 出了问题,有个 sqlite 的问题,自己临场编的,估计是搬起石头打自己的脚,估计留给面试官印象不怎么好。最后还是有 HR 面,但是没有后续通知,凉了。

华为的玄学面试,真的不知道他们怎么招人的,二面面试官问我大学的主要专业课是什么,我说了一堆,就忘了说编译原理。然后面试官就给我出了道编译原理的题,一道四则运算。最后当然做不出来。至今泡在池子里。

到了10月下旬,那时候想着如果再没有其他公司 offer ,只能选择南京小米了,只是工资稍微低一点。有时候运气也很重要,之前偶尔在牛客网上内推的猫眼,最初以为猫眼是阿里系的,😂,后来知道是美团系,突然给我来了面试电话,当时记得是投的上海,但是北京电话打过来。不管了,抓住这根稻草。就这样运气比较好,自己准备也充分了些,电话三面 HR 面。昨天顺利拿到了 offer。

总结一下,找工作真的是一个不容易的过程,充分的准备,良好的心态都必不可少。还得多投,多试,多总结经验,多刷牛客网,抓住每个来之不易的机会。你有多想找到好工作,你就得付出多少努力。越努力,越幸运,机会来的时候,才能不让它溜走。

实习也很重要,很多公司对实习还是很看重的,实际工作培养的技能,一些思想都会给自己成长很大帮助。当然如何权衡实习和找工作的时机也是很重要,像我国庆休息起来才离职,就有些晚了。

现在,工作基本上确定了,也把其余两个 offer 给拒了。可以继续看下相关的书籍,提高自己的技术,不要到时候自己去实习或者工作的时候显得很菜😂。

尾声

如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

这里,笔者分享一份从架构哲学的层面来剖析的视频及资料给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

Android进阶学习资料库

一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!

大厂面试真题

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

《2019-2021字节跳动Android面试历年真题解析》

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

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

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

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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: android面试大厂必考174题是一道比较常见的面试题,主要考察对Android基础知识的掌握和应用能力。 174题是关于Android中Activity的生命周期的问题。Activity是Android应用的基本组件之一,了解和掌握它的生命周期是开发Android应用的基本要求。 Activity的生命周期包括以下几个常用方法:onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等。这些方法分别在Activity的不同阶段被调用,用于管理Activity的状态和响应用户的操作。 在回答174题时,可以从以下几个方面回答: 1. 对于Activity的生命周期的理解:就是回答上述的onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等方法的作用和调用顺序。 2. 对于Activity状态的切换:从后台到前台、从前台到后台时,Activity的生命周期方法的调用顺序是什么。 3. Activity被销毁的场景:Activity被销毁的场景有哪些,例如用户主动退出、内存不足等。 4. 懂得如何管理Activity的状态和数据:例如在onSaveInstanceState()、onRestoreInstanceState()等方法中保存和恢复Activity的状态和数据。 5. 扩展性问题:除了上述常用方法外,你还知道其他的Activity生命周期相关的方法吗?它们有什么作用? 通过以上几个方面的回答,可以较全面地回答174题。同时,结合自己在实际开发中的经验和实践,给出一些实际的例子和场景,能够更好地展示自己的理解和应用能力,提升面试效果。 ### 回答2: Android面试中,174题是一个必考的问题,考察的是对于RecyclerView中的Item动画的理解和实践经验。 RecyclerView是Android中常用的列表型控件,能够高效地展示大量数据。为了提升用户体验,我们可以为RecyclerView中的Item添加动画效果,使界面更加生动。 在实现RecyclerView的Item动画时,我们可以使用Android提供的默认动画效果,比如淡入淡出、平移、缩放、旋转等,也可以使用属性动画自定义动画效果。 当我们需要自定义动画效果时,可以通过RecyclerView.ItemAnimator类来实现。我们需要重写四个方法: 1. canReuseUpdatedViewHolder():判断是否可以复用已更新的ViewHolder。 2. animateAdd():为添加的Item添加动画效果。 3. animateMove():为移动的Item添加动画效果。 4. animateRemove():为删除的Item添加动画效果。 在实现这些方法时,我们可以使用属性动画,通过修改Item的属性值来实现平移、缩放等效果。同时,还可以配合插值器(Interpolator)来调整动画的速度曲线。 除了自定义动画效果外,我们还可以通过RecyclerView.ItemDecoration类来实现对Item的装饰效果,比如分割线、间隔等。这样可以让RecyclerView的布局更加美观和易读。 总结起来,动画在Android应用开发中起着重要的作用,可以提升用户体验。在面试中,了解RecyclerView的Item动画实现原理和实践经验是必备的。我们需要熟练掌握默认动画效果的使用,同时能够自定义动画效果,并且理解RecyclerView.ItemAnimator和RecyclerView.ItemDecoration的用法。 ### 回答3: Android面试大厂必考的174题主要针对Android开发相关的知识、技术和经验进行考察。下面我将对其中一些常见的问题进行回答。 1. 请介绍一下Activity的生命周期。 Activity的生命周期包括:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()和onDestroy()。onCreate()在Activity被创建时调用,用于初始化Activity的状态和布局;onStart()在Activity可见但未获取焦点时调用;onResume()在Activity获取焦点时调用,此时Activity处于运行状态;onPause()在Activity失去焦点、但仍可见时调用,通常用于保存数据或释放资源;onStop()在Activity不再可见时调用,可以做一些清理工作;onRestart()在Activity重新展示时调用;onDestroy()在Activity被销毁时调用。 2. 请说明Android中的四种存储方式。 Android中的四种存储方式分别为:SharedPreferences、文件存储、数据库存储和网络存储。 - SharedPreferences是一种轻量级的存储方式,用于存储少量的键值对数据,适用于存储一些简单的配置信息。 - 文件存储用于存储大量的非结构化数据,可以使用FileOutputStream和FileInputStream进行读写操作。 - 数据库存储使用SQLite数据库来持久化保存结构化数据,可以通过SQLiteOpenHelper来创建和管理数据库。 - 网络存储通过与服务器进行通信,将数据存储在服务器上,常见的方式有HTTP请求和WebSocket。 3. 请解释一下Android中的消息机制。 Android中的消息机制主要用于不同组件之间的通信和线程间的通信。它基于“消息队列”和“消息循环”的概念,核心类为Handler、Message和Looper。 - Handler:Handler负责发送和处理消息,通过sendMessage()方法发送消息,通过handleMessage()方法处理消息。 - Message:Message对象封装了消息的内容,包括消息类型和数据。 - Looper:Looper用于管理MessageQueue,不断从MessageQueue中取出消息并将其分发到对应的Handler进行处理。 通过使用消息机制,可以实现不同线程之间的通信,例如在子线程中下载数据完成后,使用Handler将结果传递给主线程进行UI更新。 以上是对部分Android面试大厂必考的174题的回答,希望能对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值