本文转载自网易实践者社区

作者:马超(网易高级前端技术经理)

每年的三月到六月,都是招聘高峰,除了大量的应届毕业生涌入社会之外,还有一些工作了一两年尚未找到稳定归属感的人,也会开始投递简历(没错,基本都是在拿了年终奖之后)。

作为前端技术主管,有幸,或者说是不幸,我需要在这些投递过来简历的人中,耗费大量精力来筛选符合公司要求、团队发展、技术基础三方面条件的人选。

我不是一个擅长技巧的面试官,尽管公司HR也给我们培训过招聘的原则、技巧,但是真正的体验和感受,却是在做了大量面试之后自然而然悟出来的。常见的招聘要求中,基本都有“工作经验”的要求,而且都是以年作为单位。但是实际情况却告诉我,工作经验往往不是以年衡量的,甚至有些时候跟时间没有关系

今天想要分享的一点,是关于“为什么你的工作经验不值钱”,或者“怎么样才能让工作经验值钱”。从一个小小的面试题目入手:

编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

如果愿意,请先暂停阅读文章,自己动手写一下这个函数。是的,老简单了。我可以等你五分钟。

~~~ 华丽的五分钟过去了 ~~~

现在假设你的工作时间为 y 年,经验系数默认为 1,即工作经验是:Y = 1 * y。从现在开始,以下的错误,你要是遇到了,请自行调整经验系数。

| 可用

作为一段需要满足需求的代码来说,它最核心的、最低的要求:可用。

如果你没有产出一个函数( fn ),或者产生了语法错误,那就请设置 经验系数为 0,然后去面壁思过;

请将代码在控制台运行,并执行 fn(3),看看是否输出一个数组,数组中包含了三个随机且不同且在[2,32]的整数,如果不是,请将 经验系数 * 0;

一个参考的半伪代码是:

其中 getRand 、checkInArr 还另有讲究,后面会提到。当然思路和方法不止一个,后面也会提到。

有相当多的面试者,包括不少工作时间为2年以内的同学,都会在这一步犯错,非常遗憾。

| 健壮

代码是否老道,过了“可用”这一关后,就开始见分晓了。

所谓“健壮”,即最基本的兼容性处理、边界处理,异常处理、用户输入校验。很多时候,需求方不会明确告诉你这些逻辑怎么处理,但并不意味着你不需要处理。

健壮的程序,一定会将这些兼容性、边界、异常、输入做处理,以保证核心功能的正确输出。当然,如果你的代码没有任何输入并不考虑兼容性(可能吗?)或者仅仅是内部函数,那这一步要求可以降低,并不意味着你可以完全不做。

好,回过头看代码:

——如果你没有对 n 的取值范围做校验(n必须是 1 到 31 之间的整数),请将 经验系数 * 0.3;

——如果你没有对 n 是否为数字做校验,请将 经验系数 * 0.5;

——如果你没有对 n 是否存在做校验,请将 经验系数 * 0.7;

——如果上述校验都做了,但是没有校验对,请将 经验系数 * 0.9;你需要多练习,仔细认真的。

| 可靠

大多数面试者都止步于前两关,鲜有进入第三关的:可靠。

javascript没有强数据类型,函数的返回值也无法强制返回的数据格式。但是作为“可靠”的要求,尽可能在任何情况下,都返回一个可靠的结果,哪怕是异常情况下。是的,这一步很简单,几乎不耗费几个字节的代码,但是会让 fn 的返回值变得可靠:

如果你留意到并处理可靠返回值的问题,那请将经验系数 * 1.2;

另外,一个牵涉的话题就是:异常情况下,是否要抛出 Error,或 console.error ?

关于这个话题,似乎没有定论,需要自己衡量。我的观点是:如果异常情况下不会造成太大影响的话(包括定位错误),就不用抛错或提示。但同样的,这个衡量仍然是经验性的。此处不再展开讨论。

| 宽容

如果在你的日常开发中注意“可用”、“健壮”、“可靠”原则的话,你的工作经验就会大于你的工作时间,也就会更容易受到重视,自己所挖的坑就会少。而我近期面试的人中,甚至包括5、6年工作时间的,几乎都止步于此。

如果你要想成为一个受欢迎的技术人员,“宽容”是第一步: 对需求宽容、对用户宽容、对调用者宽容、对维护者宽容。

回到代码:

——如果 n 是一个字符串数字,是否可以允许进入处理流程? 如果是,请将经验系数 * 1.1;

——如果 n 是一个含有小数的数字,比如 3.000001,是否允许进入处理流程?如果是,请将经验系数 * 1.1;

——你的代码中,是否有足够多且清晰的注释? 如果是,请将经验系数 * 1.2;

——如果需求调整了 [2, 32] 的范围,你的代码是否可以快速调整,甚至不用调整? 如果是,请将经验系数 * 1.2;

一个参考的半伪代码是:

| 精益求精

恭喜你完成了前四关!

如果你在实际开发中,时时刻刻留意这些原则,这足够让你的工作经验扩大化,并给你带来更多的认可,这些认可来自于需求方(或许是那个曾经非常蛮横的产品狗)、用户以及你的同事。但不应该包括你自己,你还需要更进一步。

       宽容是宽以待人,精益求精是严以律己。内外兼修才是高手。当你将这五个原则(可用、健壮、可靠、宽容、精益求精)变成你自己的开发习惯,你的工作经验就跟你的工作时间没有关系了。

为什么你的前端工作经验不值钱?相关推荐

  1. 【回顾九月份第一周】 为什么你的前端工作经验不值钱

    原链接:http://bluezhan.me/weekly/#/9-1 1.web前端 JavaScript 函数式编程术语大全 SegmentFault 社区访谈 | Linxz:只会写 CSS 不 ...

  2. 为什么你的工作经验不值钱

    前言 每年的三月到六月,都是招聘高峰,除了大量的应届毕业生涌入社会之外,还有一些工作了一两年尚未找到稳定归属感的人,也会开始投递简历,是的,基本都是在拿了年终奖之后.作为前端技术主管,有幸,或者说是不 ...

  3. 你的工作经验到底值钱吗?

    由于我的公众号受众里有很多刚入门的.转行的.接近毕业的大学生等,所以,我一直致力于帮助 不知所措的"新人"开辟道路,指引方向. 由于是自媒体微信,所以一些纯技术性的文章,在这里真的 ...

  4. 一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的

    由于微信外链限制,推荐阅读等链接无法点击,可点击阅读原文跳转至原文,查看外链. 前言 笔者毕业于东北大学,大学毕业社招进入环球网,前端开发工程师一职.技术栈:React+node,Github 地址 ...

  5. 20届最难毕业的前端程序员的一年前端工作经验总结

    ✨✨作为2020年的毕业生,在经历了最难毕业季,最终如愿成为了一名前端程序员.经历了快一年的职场洗礼,到如今已经是一名成熟的职场,人在这个过程中我通过不断的学习,积极总结来不断成长,在整个学习成长工作 ...

  6. 前端工作越来越难找,是不是已经饱和了?

    前端的工作越来越难找,到底是不是前端领域已经饱和了? 的确,前端的热度比前几年相比明显降低了很多.前两三年,互联网经济异军突起,热钱涌进来.这个阶段,人才是稀缺资源.所以在前几年,凡是懂点前端的都比较 ...

  7. 求问:培训机构让我把简历包装成有1-2年工作经验,怎么办?

    上周五推送了一篇<1.8万参加web前端培训,值吗>的文章,大家都留言给了很多很中肯的意见,深感大家的热情.掏心窝分享的人多,喷子少了,感觉这里的讨论氛围越来越好了. 在推送那篇文章之后, ...

  8. 辞退了一名 2 年工作经验的前端工程师

    来源 | 码海(ID:seaofcode) 这周比较遗憾,辞退了一名尚在试用期的前端同学. 一般情况下我们会在试用期结束后再评估是留还是不留,但这名同学确实问题很大,所以试用了两个月后(我们试用期三个 ...

  9. 前端初学者的痛,没学历没工作经验如何找工作?

    2018年各大互联网公司对前端技术人才的需求缺口依然很大,然而公司招不到人和学生找不到工作的矛盾却更加突出,这一切都与前端技术的飞速发展息息相关,公司对前端人才的开发经验要求.技术要求逐渐提高.那么企 ...

最新文章

  1. nlp文本数据增强_如何使用Texthero为您的NLP项目准备基于文本的数据集
  2. 在Mac上控制Alt Delete-如何在Macbook上打开任务管理器
  3. anaconda 安装tensorfollow 镜像_手把手教新手安装Anaconda配置开发环境
  4. 原码、反码、补码,计算机中所有的数都是以补码的形式存储的
  5. 解决Cacti监控图像断断续续问题
  6. Hide Delegate(隐藏“委托关系”)
  7. html转义成velocity,改造Velocity模板引擎让$[!]{}输出默认进行html转义,并增加$#{}语法支持不转义输出...
  8. android gridview滑动监听,Android GridView 滑动条设置一直显示状态(推荐)
  9. java利用poi导出数据到excel
  10. Eclipse语言包及ADT安装教程
  11. IPv4和IPv6、局域网和广域网、网关、公网IP和私有IP、IP地址、子网掩码、网段、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?
  12. 李开复,活在AI与人群里
  13. 内存大计算机运行就快吗,内存一样大,为什么就电脑的运行速度最快?
  14. 深度影院linux下载,深度影院V2.2发布
  15. 一起学习CC3200系列教程之CC3200简介
  16. 合并b站m4s格式的音视频轨道
  17. iptables匹配iprange
  18. Windows 下 C++ 利用 OpenCV glob 函数获取文件夹下所有文件绝对路径
  19. 3D设计软件中怎么创建风扇叶模型?浩辰3D基础教程
  20. vulnstack(一) 红日靶场复现

热门文章

  1. ARIMA时间序列分析——(一)数据平稳性检验
  2. 单片机C语言GRB888和RGB565的互相转换
  3. 家到学校路线图怎么画_PPT绘制家到学校路线图教程
  4. configure: error: Package requirements (oniguruma) were not met
  5. configure: error: Package requirements (libwebp) were not met:
  6. jQuery实现广告图片轮播切换
  7. 【雷达信号处理】脉冲多普勒PD及其MATLAB实现
  8. android 计算器,Android实战:计算器
  9. 通过puppet hiera配置bigtop大数据集群
  10. HCU混和动力控制器,HEV混动串并联 混动车辆