太卷了!程序员面试前刷面经“神似”科举考前背题:这是八股文么?真的有用么?

大家好,最近分享了一些内推的渠道,后台有小伙伴问我,现在准备大公司的面试是不是都要靠背面经?甚至网上还有很多人把面试前的准备戏称为背八股文。

其实不少同学对此都有疑问,我们在面试当中问到的问题实际工作当中真的都会用到吗?难道不是面试造航母,进去拧螺丝吗?今天就和大家聊聊这个话题。

为什么要背面经?

不瞒大家说,其实当年刚做Android开发的时候,在面试之前也都会做很详细的准备,和背面经也差不多。

什么准备呢?就是把我总结到的各种知识点复习、重温一遍。这些知识点大部分都是当时的主管给我们分享的,少部分是我自己继续探索学习的。每次重温这些知识点的时候,真的有考前突击应试的感觉。我在网上找了一份Android的面试知识图谱,大家看下这个架构是不是很像高中书本的目录?

因为Android这个岗位涉及到的知识点还是比较多的,除了Android系统内部的四大组件,View、各种第三方库之外,还要求有Java基础,算法数据结构、设计模式,计算机网络的一系列相关知识。整个体系比较庞大,知识点也非常密集,你很难保证面试官擅长以及提问的领域刚好是你最熟悉的。所以为了保证面试的质量,面试之前的详细准备就是必须的。

其实正常面试之前好好准备,复习或者是学习一下自己薄弱、不太擅长的部分也无可厚非。但是随着互联网声势越来越浩大,吸引力的提升。越来越多的人想往里面挤,导致很多人开始把考场上用到的一套全拿来用了,不再是复习和学习了,而是单纯的死记硬背。甚至很多培训班教学生虚构简历,然后通过狂背面经的方式来通过面试。

背面经有用吗?

如果你背面经只是为了应付面试当中一些刁钻的问题,或者是记住一些容易遗忘的知识点,那我觉得还是有用的。如果是指望通过背面经来弥补自身能力的不足,我感觉很难有效果,越大的厂,越专业的面试官,越没有效果

现在的一个面试趋势是越来越看重动手实践的能力,很多大厂会上来就让求职者做两道题,或者是写一段代码。你嘴上说得再好听,天花乱坠,但写出来的代码骗不了人。有经验的面试官看看你的代码规范,看看你的编码速度,以及思考的过程,基本上就知道你水平如何。当然这样做也有缺点,因为不是每个人都擅长算法、数据结构,能不能做出题受发挥的影响也不小。但至少能够通过这一环节的,大部分都是货真价实的。

另外一个是对于一些知识点,面试的时候往往不会浅尝辄止,而是会不断发问,看看你的理解究竟如何。比如我之前面试的时候,让候选人聊聊他熟悉的第三方库,他自己选了Glide,可能是觉得Glide比较简单,哐哐哐把原理一通说。但是当我问他Glide有哪些缺点,你有没有办法可以对它进行优化的时候,对面就张口结舌说不上来了。连这么简单的Glide优化都想不出来,那想必其他的一些更复杂的场景,只会更加困难。最后我没有给他通过,虽然我问他的其他基础问题都勉强答上来了,但是就这一个问题,就暴露了他的实力。毕竟用人单位招聘的是有能力能解决问题的人,而不是一个只会死记硬背的人。

面试的知识真的会用到吗?

最后,和大家聊聊大家比较感兴趣的问题,面试的时候考察的知识在实际当中真的会用到吗?

根据我目前的经验,基本上不会用到。想想看也知道,无论是让我们写的算法、数据结构题,还是问我们的各种设计模式,框架细节,显然都非常脱离实际。所以很多人诟病,面试造航母,进去拧螺丝。

但是如果你仔细分析,你会发现现在的模式已经是最优解了。面试当中有很多潜在的条件,比如有区分度,能够把优秀的人筛选出来,淘汰掉看起来不太行的人。再比如能考察一个人的潜力,能看出来谁是潜力股,谁未来前途无量,谁以后可能最多就是一个普通员工。再比如应对变化,每个人的岗位和职责都不是一成不变的,招进来的人必须基本面出色,能够应对岗位和工作内容的变化。这几个条件一叠加,你就会发现来源于工作但高于工作的问题是唯一解。

其次,有些技能虽然不直接用到,但并非没有价值。举个最简单的例子,就是英语。我想绝大多数人工作场景当中用不到英文吧,别说你们了,我80%的场景下也是用中文交流。但你能说英语没有用吗?显然不行,因为做我们这行需要读论文,论文全是英文的,英语不好就读不了。对于算法工程师而言,不会读paper,不会了解最新的前沿技术,用不了3、5年就落伍了。

还有很多时候,不会造航母连螺丝都拧不好。拿大公司里的算法工程师举个例子,大家都知道很多算法说是算法,其实每天做的都是数据的活。但即使如此,也一样能看得出差距。有些人能够结合下游业务方使用的模型以及场景深度思考,做出来的特征效果很好,用上之后,立刻提升了模型好几个点。有些人不管不顾,只会想当然地做一些特征。表面上看起来大家的工作内容和产出好像差不多,但是到了年底晋升评绩效的时候,你们说老板会更喜欢哪一种呢?

最后最后,知识和技能并不是用到了才有价值,有的能力是其他更深层次能力的基础,有些技能提升了你的专业素养,有的知识则是重要的储备。因为在职场上,永远是书到用时方恨少,谁也不知道机会什么时候回来。当机会来临,才去学习显然是来不及的。所以千万不能抱着这种有用才学,没用就不了解的想法。所谓技多不压身,多了解一些多学一点总不是坏事。

还是那句老话,想躺平的废柴有的是说服自己的借口,而赶路的行人们却早已出发。

面试复习笔记:

文末分享一份Android中高级面试复习笔记

这份资料我从2020年春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

由于篇幅原因,下面以截图展示部分内容。如有需要以下完整学习笔记PDF,可以点赞+评论支持下,点击这里即可免费自取

正文总共分为6个部分:

Java 基础(★★)
Java 高级(★★)
Android 基础(★★★)
Android 高级(★★★)
Android 项目(★★★)
项目面试常见问题(★★★)

一、Java 基础(★★)

面向对象思想
多态
异常处理
数据类型
Java 的 IO
集合
Java 多线程

Java 高级(★★)

Java 中的反射
Java 中的动态代理
Java 中的设计模式&回收机制
Java 的类加载器

Android 基础(★★★)

Android 基本常识
Activity
Service
BroadCastReceiver
ContentProvider&数据库

Android 中的布局
ListView
JNI & NDK
Android 中的网络访问
Intent
Fragment

Android 高级(★★★)

Android 性能优化
Android 屏幕适配
AIDL
自定义控件
Android 中的事件处理
Android 签名
Android 中的动画
网络协议
其他

项目面试常见问题(★★★)

  • 开发周期
  • 项目中遇到的难题
  • 项目中最大的收获
  • 项目是如何上线的
  • 项目是如何盈利的
  • 绘制项目架构图
  • 项目开发流程
  • 你在项目中的角色
  • 你负责项目中的哪些模块
  • 讲讲你负责模块的具体实现
  • 项目中都用到了哪些第三发框架
  • 有没有自己写过框架
  • 业余时间你是如何提高自己(学习)的
  • 有没有自己的技术 blog
  • 你的职业规划
  • 为什么离职
  • 为什么选择我们公司
  • 说说你们项目的亮点和不足
  • 你们的项目是如何保持风格一致的
  • 项目架构是如何搭建的
  • 屏幕适配是如何解决的
  • 都看过哪些源码
  • 项目版本是如何升级的
  • 用的什么版本控制工具
  • 你能独立开发吗
  • App 跟服务器是如何交互的
  • 需求文档写过吗
  • 接口文档写过吗
  • 云服务器都用过哪些
  • 第三方平台都用过哪些

简历+社招解答+经典HR面试解析

以上是整理总结的Android中高级面试遇到的真题解析,希望对大家有帮助;同时很多人经常也会遇到很多关于简历制作,职业困惑、HR经典面试问题回答等有关面试的问题。同样我也搜集整理了全套简历制作、金三银四社招困惑、HR面试等问题解析,有疑问,可以提供专业的解答。

对于Android开发的朋友来说应该是最全面最完整的面试资料,为了更好地整理每个模块,我参考了很多网上的优质博文和项目,力求不漏掉每一个知识点。很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个资料也已经帮助了很多的安卓开发者,希望也能帮助到你。

由于篇幅原因,如有需要以上完整学习笔记PDF,可以点赞+评论支持一下,点击这里免费自取
感谢您阅读这篇文章,如果可以收到您的点赞,那是将使我非常荣幸,希望我们可以成为朋友,一起分享交流Android技术。
  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 36
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值