快手面试经验java,【Android】金三银四面试集合,20场大厂面经总结,Android开发入门教程

项目是非常重要的,一个拥有亮点的项目可为面试加分不少。面试前需要把自己的项目总结一下,提炼出项目的亮点难点。假如有优秀的项目,一定要把他写在简历上,并把亮点表现出来。

在面试中面试官一般会先让我们介绍项目,介绍项目一般可以按照这个模板来介绍:项目的背景、项目的内容、自己负责的内容、项目亮点。技术面的面试官会询问项目有什么技术亮点难点,这个时候可以把我们提前准备的亮点给面试官表述出来。例如做了什么优化、自定义view等,体现出自己在技术上的能力。

当然,很多时候我们的项目并没有什么亮点,甚至就是一个Demo,例如笔者。在被面试官问到项目有什么技术难点时支支吾吾说不出来。这时候可以把项目自己实现的功能讲出来,例如一个wanAndroid App可以这样描述:首页使用viewPager+recyclerView来展示后台数据,点击后可跳转到对应文章详情页;登录注册需要跳转到另一个Activity,采用okHttp拦截器和SharePreference来实现记住登录 。千万不要说:额、、就是一个练习demo,拉数据展示,没有什么亮点。这样让面试官完全无法了解我们的项目到底如何,也无法从项目开始提问来了解我们,面试效果就大打折扣了。

面试官对于我们的项目有了一定的了解之后,会继续深问一些相关的知识点或者一些情况是如何解决的。以wanAndroid App为例子,面试官可以进一步提问:viewPager有做缓存吗?recyclerView缓存机制如何?首页图片过多首页加载缓慢导致卡顿如何解决?为什么使用拦截器实现,他有什么优缺点?SharePreference的原理如何等等。

非技术面试官可能会问一些如:项目中学习到什么?你们是如何合作的?项目过程中遇到过什么问题等等。常见的问题可以提前准备,把自己的心得整理一下。

那,没有项目怎么办?那赶紧去写一个。正如某个大厂的面试官说的:到现在都不知道你们这些实习生,到底是真的会,还是背八股文的。的确如此,有时候我们甚至都不知道自己是不是真的懂,唯一的办法就是,是骡子是马拉出来遛一遛,写个项目。项目是面试官一个了解我们的非常好的方式。

需要注意的是:面试前要把自己的项目总结好,包括背景、内容、技术难点、亮点;面试时不要觉得自己项目很捞,而要表现出自己的自信,把项目内容有条不紊地表达出来。后面回答好面试官提出的问题就可以了。

算法


算法这一块,先看看笔者在面试中遇到的算法题:(点击可跳转leetcode对应题目)

算法难度基本就是力扣的中等题,且很多都属于经典题目。面试的过程中,只要别太紧张基本不会有太大的问题。笔者在前期的面试过程中过于紧张,导致大脑空白,根本无法思考,连题意都没看明白。此时,可以深吸一口气,冷静一下,旁边有水可以喝一口水,努力让自己冷静下来。如果是在牛客网面试,可以打开代码全屏,可以遮掉面试官的视频,眼不见心不烦(狗头)。

如何提升算法,其实就是刷题,刷题,还是塔喵的,刷题。算法没有捷径可走,需要靠自己勤奋去做题。如何刷以及刷到什么程度,可以参考笔者的经验:

  1. 分标签刷。题目的类型总体就分为那么几类,每一类题型都有特定的模板。因此在一段时间内,对同一类型的题目重复刷,然后总结思路,效率会更好。

  2. 可以参考大厂算法合集剑指offer,在面试前一段时间把这些题目刷一刷,很多时候可以做到原题或者类型题。

  3. 多做总结。实习考察的算法大都是有套路,每次刷题都把关键的点记录下来,做总结,很快可以提炼出一个题型的整体思路。这里推荐一个博主的算法框架,帮助我们提炼算法思路。

  4. 学习官解,精简代码。这里不是要实现那种一行代码解决问题的骚操作,而是去除掉我们代码中的那些无用的判断、循环等操作,增加代码可阅读性和提升效率。

关于算法,不同的企业对算法的要求是不同的,有些企业的算法都是简单题甚至没有算法题,例如美团的算法题是很简单的,腾讯的算法题也基本都是经典题目;而字节跳动对于算法考察较为严格,多为非常见算法题,且基本每轮技术面都有算法题。

其次,企业的不同的部门对算法的考察偏好也是不同的。例如我同学面试wxg一次性来了5道算法题,而笔者面试pcg则没有遇到这个情况。对算法看重的企业多会更深地去考察我们的算法功底,而对算法没有要求的更多是走个流程。

总之,学好算法对我们是一件终身受益的事情,而不管企业考察难度如何。

简历


关于简历,网络上有很多的博客写得很好,读者可以自行去搜查一下。这里主要和读者们分享笔者对于简历的一些心得。

  • 简历的作用是展示自己的亮点给面试官,让面试官可以在短时间内迅速了解我们。

简历一定要把自己的亮点写上去,展示自己的能力。说人话就是:告诉面试官自己有多牛叉,这不是表现我们谦虚的时候。不管是项目亮点、还是个人技能,都通通写上去。

其次,一定要控制篇幅,不宜过长。面试官一般10s内阅读完一份简历,只需要把有亮点的内容展示出来,而一些类似“熟悉Java类与接口、了解使用xx框架”等基础知识就不要写了。

另外,有开源项目或博客也一定要写上去,特别加分。有时候即使面试回答得一般,但是看到我们的博客或者开源项目可能就认为只是紧张,随手就给我们一个过了。因此平时多写博客、项目,是有好处的。

  • 技能点描述要精准,不要模糊。

举个例子:

  1. 熟悉JVM。
  1. 熟悉JVM的GC标记算法及其分代回收理论、方法调用的解析及其入栈过程、类加载流程、内存模型与运行时数据区等。

对比这两种描述,第二种面试官可以很明显知道我们到底对JVM掌握到什么程度以及哪些知识点,并针对性提问,而第一种面试官甚至会觉得我们根本不懂JVM,连JVM中有什么知识点都不知道。

因此描述技能一定要精准,不要模糊,让面试官猜。面试官不会掀起我们的盖头,只会掀起我们的头盖[狗头]。

  • 无用信息不要写。

纵使在校园内参加了非常多的大型社团活动,包括但不限于三下乡、主持大会等。我们面试的是android岗位,不是社团。只需要简单一句参加过校园各类社团活动,让面试官知道我们是一个active boy/gird 就好了。

  • 写上简历的内容一定要是自己掌握的内容。

这是简历最基本的要求,不用多说了吧。

非技术问题


这部分的内容,大都会在三面或者HR面提问到,到这里其实面试已经差不多稳了,但也不可以乱讲话哦,不然HR姐姐卡我们简历就难受了。这些问题多为考察我们的软实力,重点是要知道面试官提问这个问题的目的是什么,了解他的“潜台词”。

顺带提一下HR面试,基本上到这一步,我们的面试就基本通过了。HR面试的主要目的是了解我们这个人本身的情况,如学习、周边环境、未来打算、价值观等等。只需要真诚和HR姐姐聊聊天,同时避开一些雷别踩就好了。嗯?这还能有雷?有的哇,例如HR姐姐问你拿了几家offer之后你会选择我们吗?你直接说:如果另一家过了就不要你们了。那人家还给你发offer?

但其他的个人情况问题,还是需要真诚和HR沟通,其实也是看企业文化是否适合自己。

下面看看笔者被提问到的一些软实力问题:

  • 你项目中遇到的最大的困难是什么?

这个问题问的最多,多为考察面试者的解决问题的能力;问题本身并不是重点,解决的过程才是重点。

  • 你在项目中学到了什么?

考问学习总结的能力,回答一些自己的收获,可以是技术的,也可以是非技术的例如团队合作的经验。

  • 平时是如何学习的?

考察自学能力,可以把自己平时学习的方法讲出来,向面试官展示自己学习的能力。

  • 你为什么选android?

考察对android的兴趣。不要讲得太浮夸哇,什么从小就xxx,真诚一点讲出来就好了。

  • 未来的计划如何?考研吗?

根据具体情况回答就好了,如先实习锻炼业务能力,毕业后一两年希望有单独负责一个模块的能力等等;一般来说,企业更愿意招聘未来可以转正且有规划的实习生,更有培养空间。

  • 工作城市有什么考虑吗?父母怎么态度等

这个很明显了,根据自己的实际情况来回答;当然,面试官更愿意招聘希望去他们部门所在城市的面试者。

  • 你还在面试其他公司吗?拿到其他公司的offer了吗?你会选谁?

这里可以讲一两个比较优秀的公司来提高自己的身价,让HR感受到你的市场竞争力,但切不可全部十几个说出来哇,我们都讨厌海王,包括HR。

选谁这个问题,如果此时自己还没确定,可以把自己考虑的因素讲出来,如业务内容、地点、实习生培养制度等讲出来,然后告诉HR最后会权衡考虑,并在最后向HR了解这些内容(如果你都不问,怎么权衡?HR一看就知道你在养鱼)。如果已经确定好了要来这家公司,那就直接告诉他一定来。

千万记住不要撒谎,例如告诉HR我一定来,但心里已经有了想去的公司。到时候要拒offer会非常尴尬,而且有可能进入企业黑名单。[狗头]

当然面试官肯定更加倾向于想要选他们的面试者,不然发了offer又不来,那何必发呢?所以这里就看各位的情商发挥了。

  • 你有什么优缺点?在别人看来,你有什么优缺点?

一定要提前做好准备,笔者当时就是没做准备,乱讲一通。

需要注意的就是别太浮夸,真实一点;什么叫真实一点?例如:我的缺点是总是控制不好自己的学习节奏,老是学习太晚,伤害身体。虽然存在这种情况,但别说HR,可能我们自己都不信不是吗[狗头]

其次是讲缺点的时候可以聊一下自己是怎么对待自己的缺点的,因为发现是一回事,而最终怎么处理又是另一回事了;把自己怎么对待自己的缺点的可以讲出来。

最后是注意题目,是有两个角度:自己和他人。一个是自我反省,另一个是外在表现,最好准备好这两道题的答案。

  • 前面的面试体会如何?你觉得你前面的面试表现如何?

主要看在前面的面试中有没有什么体会,然后有没有去处理发现的问题。这里可以讲发现了很多的不会的知识点,然后自己都去再次学习了等等

  • 自我介绍

几乎在每一场的面试都会有,但在三面总监面一般没有。

自我介绍是除了简历之外面试官第二个快速了解我们的地方。最好不要对着简历念,而是补充一些简历没有的内容。

例如可以讲自己从何时开始自学,自学能力非常强;加入过什么老师团队,做了什么项目;近段时间学习到什么程度等等。

在面试前可以做好一份自我介绍,然后后面所有的面试都用这份自我介绍就可以了。这样也不会说在自我介绍的时候不知道说啥。

但是千万不要太长哦,抓重点一两分钟就好了。

  • 你还有什么问题吗?

这部分可以向面试官提问一些自己想了解的情况。一般来说,需要了解的有:部门业务内容、实习生具体的工作内容(sdk、业务开发、跨平台、转语言等)、实习生的培养内容、学习建议等等。

不同的面试官也需要区分问,例如HR可以问多一些工作地点、转正机会等问题,而技术面试官可以问一些工作内容的问题。

这些因人而异,最好不要说没问题咯,让面试官看起来对岗位没有多大的兴趣~

面试中


自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

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

同时我经过多年的收藏目前也算收集到了一套完整的学习资料以及高清详细的Android架构进阶学习导图及笔记分享给大家,希望对想成为架构师的朋友有一定的参考和帮助。

下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。

不论遇到什么困难,都不应该成为我们放弃的理由!

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言,一定会认真查询,修正不足,谢谢。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

记总结+移动架构视频+大厂面试真题+项目实战源码》]( )收录**

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值