三年前端,面试思考(二)

20,962

为什么还有(二)

没有想到上一篇 《三年前端,面试思考》 有这么多前端同学看到。 在评论区也有很多鼓励和质疑的声音,而且群里面交流的同学两天就达到了700人。

群里有同学问了很多问题,同时希望我再分享一些面试技巧,在这篇文章中我也一并梳理出来。

相关面试题解答 《100*100的 canvas 占多少内存?》

反馈和解答

先来看看掘金评论区有哪些反馈 :D

  • 三年多经验本科本身就很难拿到 p7 吧?

p6,p7 是个坎。我理解的 p7-技术专家,在某些领域需要有一定沉淀或者具有很强的综合能力,具有推动事情落地的能力。

在我接触过的朋友中,有三年到p7的,也有工作10年到p7的。 其中三年就能到p7的朋友在 React Native 中有很深的造诣,出过很出名的技术书籍。

至于p6,则是可以独当一面,完成核心工作。正常情况下,一个团队的主要开发者应该都属于这个级别,朋友当中也不乏工作刚刚一年就拿到 p6 offer 的。

所以职级这件事,自身定位要清楚不妄自尊大也不妄自菲薄就好。

如果对于评级的标准想要专业解答,可以咨询群里的猎头(猎头小玉)~

  • 对 React 和 Vue 了解较少,能 p6?

不做过多评价,首先了解少不代表我真的不懂 React Vue, 只是面试是用来发现面试者亮点的过程,实在不明白为什么要去暴露自己明显的短板,一般情况下我都会如实告诉面试官我对于样式、React Vue 了解不多。这样就可以把时间放在我擅长的领域了呀。可以把 ng1 玩的很溜不也是一种学习能力的体现么?

这里援引一位朋友的评价:

看重点,1. 非常愿意参与到产品中去,2. 独自负责过很复杂的前端项目,3. 过往的创业经历锻炼了他的沟通表达与业务理解能力。这是核心竞争力,到这个薪资水平,技术水平占的位置已经不重要了,产品能力,带队能力,表达能力,理解能力,任何一个都比技术重要

如果对于评级的标准想要专业解答,可以咨询群里的猎头~

  • 和大佬的经历非常相似,应该都是15年毕业的,同工作三年半,211,但是和大佬相比明显差很多。

和别人比较是最没有意义的一件事情。通过努力比以往的自己更优秀就可以了~

  • 前端base这么高吗?后台哭晕在厕所

其他岗位大可不必这样想,薪资永远都是价值交换,能为公司带来什么样的价值才有可能什么样的薪水。

  • 质疑薪资以及不友善

一开始的时候暴露了 offer 的大致区间,招来了很多质疑。为了避免不必要的尴尬很快就删除了相关内容。

对于薪资的比较,我非常能理解,因为同样的工作年限,举例,1年,有朋友 10w+,另外一个例子,985本硕,前端,工作一年,跳槽,从 30w+ 到 50w+。还是那句话,薪资永远都是价值交换

当然举例子的意思并不是要嫌贫爱富,挣得多就了不起(薪资永远都是比上不足比下有余),例子是说,对于别人的薪资没有必要说三道四,如果身边有非常高薪资的朋友,应该去请教他们的是如何面试,如何准备,以至于如何工作,如何学习。心态要摆正。

而且职级之间的薪资是有很大重叠的,很有可能 p6 比 p7 高,这应该是一个薪酬设计的常识。(而且还有一个可怕的词:薪资倒挂。)

薪资水平不仅仅反应技术人员的专业技术能力,还有非常多的软素质。

交流群中的问题合集

  • 前端面试中没有大型项目怎么办?

项目经历问题。

  • 被面试官说基础差。基础这东西不知道怎么去补。

基础知识问题。

  • 自学的前端,第一次面试怎么去讲项目啊

项目经历问题。

  • 现在遇到个瓶颈,就是各种基础知识,散知识感觉都了解的差不多了,但是无法结合起来思考。一个面试题,可能拆开里面的知识点都知道,但是无法整体联系起来。有啥建议么?

知识融会贯通。

  • 群主您好。我工作3年,普通本科。但是前端工作经验 只有一年半多(对外宣称3年)。之前一直是在小公司。所以跳槽也比较频繁,基础也比较薄弱。现在在补一些基础。但是感觉还是遇到瓶颈了。想去中大公司,可能要求又达不到。小公司感觉对技术成长又不太好,而且工资容易遇瓶颈。一直想试一试去个中大公司,但是还是很纠结。小公司和中型公司在我这中阶段 我改怎么选择,又改怎么向他们靠近。

基础知识问题+知识融会贯通。

  • 比较想知道群主平时如何系统前端,以及周边技术栈,面试官更看重求职者哪块能力,面试大厂应该具备哪些能力。

知识融汇贯通。

以上问题可以大致划分成

  • 如何夯实基础知识
  • 技术如何融会贯通
  • 如何丰富项目经历

首先,基础知识点重要性再怎么强调都不为过,就像高中对于函数基本性质理解不到位,数学的学习会折磨整个高中生涯;物理受力分析掌握不好,基本上就可以和物理说拜拜了。

对于基础知识:多看书,多 coding,多总结,无他。

多看书

哪些书? 前端开发工程师必读书籍有哪些值得推荐?

我自己比较推荐 《JavaScript高级程序设计》 《You-Dont-Know-JS》 系列 《JavaScript忍者秘籍》

很多同学说基础不牢怎么办,其实我们心中早已知道答案——恶补基础。

我在工作的前半年内,差不多就把 《JavaScript高级程序设计》看了三遍左右,一开始的确实什么闭包,原型链等非常不理解,但是这些都是基础知识嘛,只能硬着头皮去读。那时候由于工作的原因,刚刚接触 angularjs,大家也知道 angularjs 的学习曲线非常陡峭,service 的几种方式, directive 如何写等都非常难理解。只能在工作之余找书来看,我记得《AngularJS权威教程》《 AngularJS深度剖析与最佳实践》也是看了很多遍。

罗列一些我自己看过的书 我读过的书 (不过有些是非技术书籍)

这里我也推荐一个好朋友-老姚,大家可以看看他写的前端学习经验,他也在前端面试群中,有问题大家也可以向他提问。

《前端网老姚浅谈:怎么学JavaScript?》

《前端网老姚:那些年我看的前端书籍》

通过上面的例子是想说明,夯实基础不是一句简单的话,就像老姚,看过的前端书籍就不下百本,这点我也是自叹不如。

总之,基础是我们进行业务开发的工具,在业务开发过程中都是在解决一个一个的具体问题,这个时候基础知识不过关,对于闭包等概念理解不清楚,在理解业务层次问题的时候再去应付这样细枝末节的技术问题肯定会导致研发周期变长,在不同层次上思考问题,肯定会一团浆糊嘛。

磨刀不误砍柴工,多看书,多 coding!

多总结、多分享

总结分享的形式有很多,比如写博客,在自己的团队做技术分享等, 这里分享一个我前同事的博客,他工作只有一年半,目前在头条,可以看看他平常写的文章是什么水平。 10081677wc/blog。这位同学也在面试群中 :D

这个是 老姚的博客

老姚写的正则表达式教程正则表达式系列总结

通过上面的例子,大家可以发现,这些基础知识扎实的同学也是在一个概念一个概念的深入研究,慢慢的才能有输出。并且在输出过程中也是一次在学习,同样的也会巩固自己的基础知识。

记得我在公司内部组织过前端技术分享会,会每周分享一些工作中碰到的技术问题和解决思路。

我们在平常的开发过程中,肯定会碰到很多技术问题,在寻找和讨论解决方案的时候就伴随着很多思考,应该把解决问题的过程记录下来,这些都是技术分享非常好的素材。

如果是个通用的问题,那么举一反三,就可以写成一个小的主题来进行分享。这个是我之前在公司做的关于如何使用 gulp 的分享。和我一起学Gulp

这样既保证了和平常业务的贴合,也可以对具体的问题深度了解,还能和同伴分享,增加在团队中的影响力,如果还能写成文章,发表到 github、掘金等,也能提高在业界的知名度~ 何乐而不为呢?

而且很重要的是,一旦决定要做技术分享了,心态上也会发生转变,自己必然会专心的面对,从资料搜集筛选、demo 创建,到模拟分享 真实分享,大家提问自己再进行讲解,团队讨论,最后成文发表,和读者讨论再修改等。

一套流程下来,长期以往,各个方面的能力都会得到显著的提升:包括资料搜集、筛选的能力,组织成文的能力、演讲能力、讲解能力、社区知名度等等等等,总之,大有裨益!

知识技能的融会贯通+项目经历

对于知识技能的融会贯通和项目经历的积累,很多同学会讲,很多前端『高级』知识其实也用不到,自己很多概念仅仅是了解,总是不知道如何使用,自己没有复杂的项目可以展示。

事实上真的如此么?

举个简单的例子,我们学习 Vue 和 React 框架的时候,经常用 to-do-list 这个项目来练手。

我们想想这个项目除了来了解框架基本知识之外,还有什么可以考虑?

  • 项目目录结构为何是现在这个样子,每个部分的含义是什么样的?
  • 业务代码是如何组织的?当业务复杂的时候,这样组织还可以么?
  • 工程化是如何做的?
  • 构建流程是怎么样的?对于构建工具了解么?
  • 上线流程是怎么样的?
  • 本地开发和部署有什么区别?
  • git 使用规范是怎么样的?怎么做好分支管理?
  • 怎么做好团队协作?
  • 前后端如何分工的?如何联调的?跨域如何做?
  • 产品功能是如何产生的?你在其中的角色是怎么样的?
  • 你们的研发流程是怎么样的?
  • 如果增加一个搜索框,如何解决快速输入导致频繁发起 ajax 请求的问题?
  • 这个项目有哪些技术上的难点?
  • 动画的实现方案有哪些?有哪些动画优化的方案?
  • 性能优化有哪些?
  • 用户键入不安全的内容怎么办?常见的安全问题有哪些?
  • 经典面试题『某上海客户说,他的 h5 页面打不开,你如何解决这个问题?』

当然这篇文章肯定是不会解决这些问题的,我想说的是,麻雀虽小五脏俱全,每一个产品在开发的时候都有诸多的问题,有业务上的,有产品上的,有团队上的,有技术上的,每一个问题都有我们研发人员可以参与改进的地方。面对这些具体的问题,如果怕自己积极参与,知识技能还不能融会贯通么,项目的经历还能不丰富么?

我之前的一位同事,曾经在离职找工作的时候找我辅导,几轮面试下来向我感慨:『如果当时那些工作我自己也能主动参与就好了,这样回过头来看自己真的没有做过特别复杂的功能。不像你,都是在抢活干,当初很不理解,现在终于知道项目经历和自己的能力都是这样一点一点积累出来的。』

对于我们这些1-3年工作经历的前端,如何才能在同龄人中脱颖而出呢?只有踏实的基本功,加上丰富的实战经验。换位思考一下,如果你是面试官,面前的同学不光是对于基础知识掌握的好,业务不糊弄,主动挑战复杂业务,还能给团队的成员进行技术讲解,大家碰到问题都会想到你,这样的同事,有谁会不喜欢呢?

其他问题

『入职两月想跳槽 怎么成功应聘上。两个月总感觉被开除一样。』

『群主我想听听你入职后的自我提升上的时间安排,平时工作时候怎么处理的,能够尽快提升自己。』

『工作经常加班,项目紧急,这种情况怎么和自我学习计划相协调。』

这些可以划分成

  • 自我管理
  • 面试求职
  • 软技能等

内容较多,我们下次再聊!

招人

蚂蚁金服-微贷事业群招前端 可以发简历到 yanqi.zyq@antfin.com 邮件标题:简历-姓名-前端 附上你的简历

一对一辅导

话题涵盖 职业规划、简历修改、模拟面试、面试技巧、大厂工作内容等 欢迎到在行约见我~ www.zaih.com/falcon/ment…