我在阿里做了5年的Android面试官,那些你必须知道的套路(1)

其实不得不说,找工作,真的七分实力,三分运气。不同的面试官有不同的看重点,所以千万不要为一次的滑铁卢而丢失信心。

面试环节

关于面试题的答案讲解,本文将不做非常详细的分析。具体的每个知识点,笔者后面尽量一周更新一篇相关,欢迎关注、讨论和分享。下图是笔者计划后续写的总结性技术文章。

自我介绍

基本面试这是必然的开场,笔者在公司也稍微面试过不少人吧,高峰期基本每晚都要面试一两个,听过了各种各样的开场介绍。这里简单说下笔者作为面试官比较喜欢和不喜欢的介绍吧。

我叫 xxx,毕业于(目前就职于) xxx,来自 xxx,技术栈 xxxx,喜欢 xxx。。。

类如上述的自我介绍,其实很多都在简历上写明了,甚至很多是我并不关心的。

我只关心你能力和我职位的匹配度。所以诸如此类的简介,笔者更是希望能够简短。笔者作为面试的时候,更喜欢听到的是我做过什么牛 x 的项目,这个项目有多难,如何攻克的,以及这个项目做完你收获到了什么,甚至这个项目做完,该项目对团队、部门甚至公司而言,带来哪方面的提高。或者可以介绍你在校获得了什么奖项,意味着什么、成长了什么。

如上的介绍,其实就能够让面试官眼前一亮,因为能看到你对这个项目的思考、以及这个项目对你的历练。

划重点:我们都知道下一个面试环节是知识点提问,所以这里的难,可以适当的抛出技术的难点在哪。引起面试官的兴趣,从而去提问 。面试的节奏我们要学会自己掌握,别老是被面试官牵着走

走到这一步,基本有如下两个分支:

  • 面试官对你的这个项目(奖项)比较感兴趣,会接着问下去,然后问其中技术的实现细节。(所以这里自己千万不要吹牛x,然后补不回来)
  • 面试官不是很感兴趣(很可能是面试官的技术盲区,比如我就这样。哈哈),然后问自己准备的一些面试题。。。

这里需要说明的,在笔者面试应聘 p7 的同学的时候,会更喜欢到你对这个项目的思考,诸如会问一下题目:

  • 现有的技术方案、行业对比
  • 你觉得你做过的项目或发起过的优化里面最有价值是的哪个?为什么?对业务的帮助是什么?
  • 你做的东西可以复用于其他团队吗?
  • 横向与市场已知的 xxx 解决方案,你们的优势在哪?

上述的这些思考,其实目前我也达不到。但是,这不一定要求面试官一定要达到这个水准,项目的思考维度也还没有这么的深入。没吃过猪肉还没见过猪跑嘛。

面试题

如上面所说的,如果面试中应聘者说到了笔者比较感兴趣的技术方向、或者技术点,那么笔者就会直接问下去。如果说到了笔者不是很擅长的技术区域,那么我笔者就不会追问技术细节了。

整体一面的时间大概也就半小时左右,加上前后的介绍,基本题目就四五题吧。笔者面试没有固定的题目,通常根据应聘者的经历而问。这里举例下在上面的介绍毫无亮点可言的时候(基本凉了一半),笔者喜欢问的一类题目吧。

######题目考核

1.Android 系统源码部分(这是针对社招的,校招问的会基础一些)

事件拦截和分发

进程间的通信方式

应用的创建启动流程

Handler 是怎么导致内存泄露的

第三方库的源码,Glide、OkHttp 和 Retrofit 问得比较多,MVC,MVP和 MVVM 开发模式优缺点。

常用设计模式理解问得也多,大公司 Binder 驱动和虚拟机方面问得比较多。

2.数据结构和算法,Java 的常用集合和实现原理

比如 ArrayList ,LinkedHashMap 的实现原理,缓存淘汰策略,红黑树和二叉树,最短路径规划,海量数据筛选,很荣幸的是面试官目前还没有要我手写算法!

3.性能优化

如何检测一段代码的执行时间?

界面卡顿如何修复?

滑动不流畅怎么处理?

50fps 有什么办法可以提高到 60fps?

内存泄露怎么检测?

leakcanay 的原理?

4…线程和线程池,

wait() 和 sleep() 的区别?

同步锁

线程池的参数详解?AsyncTask 源码参数详解?

最后还啰嗦一下,关于音视频方向的岗位,你必须要会 C 和 C++, OpenGL 或 OpenCv 或音视频编解码!这里要小心,我说的是熟悉,因为像音视频和 OpenCv 图像处理这些方面,没做个6、7年最好不要写精通!

阿里对学历要求基本为本科。如果没有学历这是个硬伤了,但是如果技术很强,而且内推的话也会看情况而论。

结束环节

半小时,基本只能问四五题这样,说实话,题目的考核大概能占参考度的 90%,还有 10%可能就是言语和感觉了。那么对于结束的时候,说下不好的感觉:

最后,你有什么要问我的嘛

我想咨询下,我能不能通过这次面试,我对工资无所谓,我愿意学习,特别希望能够进入 xxx 跟大牛一起学习,历练。

讲真,这类的话听过很多次了。如果在看的你也命中了这个。我想说,其实公司招我们进来,是搬砖的,不是给我们学习的。学习是你自己的需要,不是为了公司学的。说这类的话,太给自己降价了!

说说笔者应聘的时候,一般结束的你有什么要问我的嘛的回答

  • 我比较在意自己的技术方向和职业发展,能够简单介绍下如果我面试上贵公司职位,我以后的工作内容和在团队的价值么?
  • 想了解下公司对于前端的重视程度以及在大前端时代,团队对于技术的思考

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

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

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

img

img

img

img

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

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

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后说一下我的学习路线

其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:

  1. 架构师筑基必备技能
  2. Android框架体系架构(高级UI+FrameWork源码)
  3. 360°Androidapp全方位性能调优
  4. 设计思想解读开源框架
  5. NDK模块开发
  6. 移动架构师专题项目实战环节
  7. 移动架构师不可不学习微信小程序
  8. 混合开发的flutter

Android学习的资料

我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。

330页PDF Android学习核心笔记(内含上面8大板块)

Android学习的系统对应视频

总结

我希望通过我自己的学习方法来帮助大家去提升技术:

  • 1、多看书、看源码和做项目,平时多种总结

  • 2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理

  • 3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习

  • 4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!

希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

胆的进阶吧!

希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值