Part 4实践:从招聘角度来看, Node.js 开发需要具备哪些技能?

招人标准

先说下我的招人标准,做技术总监时上指下派只要看好技术能力和态度即可,做CTO时要考虑团队文化,人品和能否在公司长留,所以不同的人面试要看的点是不一样的,我曾面过很多Node.js程序员,也见过很多面试题,汇总一下,大致有以下9个点:

  1. 基本的Node.js几个特性,比如事件驱动、非阻塞I/O、Stream等
  2. 异步流程控制相关,Promise是必问的
  3. 掌握1种以上Web框架,比如Express、Koa、Thinkjs、Restfy、Hapi等,会问遇到过哪些问题、以及前端优化等常识
  4. 数据库相关,尤其是SQL、缓存、Mongodb等
  5. 对于常见Node.js模块、工具的使用,观察一个人是否爱学习、折腾
  6. 是否熟悉linux,是否独立部署过服务器,有+分
  7. js语法和es6、es7,延伸CoffeeScript、TypeScript等,看看你是否关注新技术,有+分
  8. 对前端是否了解,有+分
  9. 是否参与过或写过开源项目,技术博客、有+分

补充一句:只看技能没人品的人,千万别招,白脸狼

p6的要求(语音)

主动执行,辅助团队
掌握一门后端语言;熟悉用户体验相关知识;了解软件工程。
精通浏览器工作原理,熟悉HTTP协议,熟悉设计模式。
掌握改善无障碍访问的方法;掌握数据采集分析能力;熟悉可维护性问题。
通过开发、使用、推广效率工具让自己与团队的效率得到提高;
提炼可复用组件,为类库贡献高质量代码.
积极完善知识库;
跨团队分享技术和专业相关知识。
辅导新人技能成长;
协助主管做招聘和团队管理工作。

大家是选大公司还是小公司?

我在知乎上回复的《在跳槽后的第三个月,收到世界500强的offer,我该怎么办?》

1)互联网公司优先,流量大,人才多,机会也多,流程规范一些

2)今天的世界500强不比从前了,普华永道应该是四大之一,不知道信息化怎么样,你只要和你现在的公司对比就好了。

3)问问自己想要什么,钱,经历,还是时间

如果你很年轻,现在很安逸,我建议你换。如果不是很想动,那就学会所有能接触到的知识再换。

我是降薪来的阿里,原因有三,一是有事可为,老板重用你给你机会,二是集团内部是open的,偏偏我知识面足够可以看出它们的好处,算是另一种补偿吧,三是对个人品牌是一个升级,狼叔的职业生涯到此已经足够了,进可攻退可守,也算另一种自由吧!

钱多是个优势而已,还有氛围,文化,信仰

  • 牛人多
  • 业务需要
  • 成熟后有更多精力
  • 内部竞争,优胜劣汰
  • 财务相对自由,可以追求信仰了

前几天还和 @苏千 聊,我和 @死月絲卡蕾特 相继入职阿里,还有cnode社区著名程序员也即将入职阿里,当时大家开玩笑说:

“前端的终极归宿是阿里,不是在阿里,就是在去阿里的路上”

另外要说的一点是pc和h5站在使用Node.js做api中间层,其最佳实践已成型,量也是极大的。以前前端玩得还是比较弱,如果能够缓存+控制页面数据,获得一个性能极大的提升也是极好的。2018年,争取拿这个做主题演讲上qcon或archsummit大会。

每天忙得很开心,这就是我现在状态。其实,我的折腾还是在于想做些事情。如果你也想跟我一起做事,请将简历邮件给我 langshu.ssl@alibaba-inc.com,团队大量招人,也可以帮忙推荐给集团其他部门。

大公司的做事方式

  • 按照规矩做事,不要碰红线
  • 工时一般压的都不会太紧,都是可以商量的,但态度一定要好
  • 闲的时候自己学点东西,上班要学习相关,下班学不相干的。别犯傻。
  • 多创造点额外价值,让你的领导更喜欢你
  • 理解能力要强,不要让你的领导说二遍。

小公司

  • 简单粗暴,快速出东西,领导最关心的是进度
  • 执行力要强,遇佛杀佛,有鬼杀鬼
  • 代码质量其实没太多人管,但自己要注意养成好习惯
  • 没有机会自己创造机会。创造机会之前是赢得信任。

狼叔经常说的一句:“少抱怨,多思考,未来更美好”,大部分人都喜欢积极的人,遇到问题不怕不躲不避,要相信自己能够解决,最多是时间问题。

还有一句是:“没目标向钱看,有目标向前看”。历史上很多这样的例子,在2010年左右iOS开发刚起步,会拖拽弄个界面的就五位数工资,比做JAVA的几年的都要多。这世界就是这样不公平。但是你也不能不思进取,这样也是极其危险。在2016年左右,其实iOS开发就遇到了市场饱和的问题,很多培训出来的人都找不到工作,各家公司都在考虑换react-native或weex或者h5。

所以,当你有机会进入一个很有前途的方向,你要努力学好,并准备好下一个阶段的应变。相反,如果当成找一个养老的地方,早晚会遇到尴尬的。比如现在很多iOS程序员被迫去学react/vue等,境遇也不太好的,更有甚者直接被开除。

优酷-高级前端开发

职位描述

  1. 支撑企业级应用后台开发,使用 React 等前端框架搭建后台页面,实现交互需求及后端服务对接;
  2. 以模块化的思想设计开发通用前端组件,并能够针对OTT,移动端进行针对性优化;
  3. 在理解前端开发流程的基础上,结合前端实际建立或优化提升工作效率的工具;
  4. 在理解产品业务的基础上,提升产品的用户体验,技术驱动业务的发展;
  5. 关注前端前沿技术研究,通过新技术服务团队和业务;
  6. 使用 Weex 技术开发产品需求。

职位要求

  1. 精通前端技术,包括HTML/CSS/JavaScript/Node.JS等;
  2. 掌握Bootstrap,jQuery,AngularJS,React等框架,并有项目实践;
  3. 熟悉前端模块化、编译和构建工具,如grunt,gulp,webpack等;
  4. 至少熟悉一门非前端的语言(如Java/PHP/C/C++/Python/Ruby),有项目实践更佳;
  5. 具备跨终端的前端开发能力,在Web(PC+Mobile)/Node.js/Native App三个方向上至少精通一个方向,具备多个的更佳,鼓励在Native和Web技术融合上的探索;
  6. 具有较强的学习能力,对前端技术有持续的热情,个性乐观开朗,逻辑性强,善于和产品,UED,后端等方向同学合作。

PixelLab

PixelLab是与淘宝GM Lab联合成立的专注于视频算法方向的研发部门,主要涉及视频的空间感知、轨迹跟踪、图像分割、遮挡检测以及照片级渲染等相关技术。用于实现视频内的内容植入与后期特效的研发,属于视频MR的场景,主要应用于广告植入平台的研发,方向靠谱老板人好,欢迎推荐。主要需要的岗位包括了图像算法、3D视觉算法,渲染算法,WebGL以及并行计算等几大方向,因为算法类招聘实在难,所以将JD的链接帖出来希望同事们有适合的人可以内推一下。

岗位要求:
1) 本科及以上学历,5年以上工作开发经验;
2) 扎实的计算几何基础,熟悉常见数学工具;
3) 熟练WebGL、Canvas渲染开发,熟练Shader编写,熟悉Three.js、OSG.js者优先;
4) 熟练运用JavaScript语言与HTML5、CSS3等技术;
5) 熟悉主流移动浏览器的技术特点,有移动端H5项目经验者优先;
6) 有移动端WebGL开发经验者优先;
7) 学习能力强、应变能力强,优秀的沟通能力和协调能力,执行能力强,具备较强的团队合作精神。

蚂蚁金服

岗位要求:

  • 大学本科学历,2年以上开发经验,能熟练使用常见类库或框架,编写高质量的前端代码;
  • 熟悉NodeJS,有NodeJS开发经验,熟悉Express/koa等框架;
  • 熟练掌握React、Redux及相关框架和技术,有单页面应用开发经验;
  • 精通ES6,gulp,webpack等规范和技术;
  • 善于 Web 性能优化与前端效果的实现;
  • 良好的团队合作精神和积极主动的沟通意识,具有很强的学习能力和对新技术的追求精神,乐于分享;
  • 有大型网站开发经验者优先。

我们的前端专业建设方向

  • 基于ReactJS的主题可配置组件化平台
  • 基于Nodejs的UED中台业务(浏览器端web页面监控等)
  • 基于Docker的nodejs云容器平台
  • 基于Webpack的前端工程化体系建设
  • 基于eggjs的react同构框架
  • 基于G2的业务数据可视化组件库
  • 大规模图形识别/图像处理/AR/VR/语音交互等研究性领域探索

联系方式

目前北京,杭州,广州,上海,深圳,成都都在招聘,如果你也想跟我一起共事,请将简历邮件给我 langshu.ssl@alibaba-inc.com,团队大量招人,也可以帮忙推荐给集团其他部门。

有机会和winter,勾股,玉伯,苏千,朴灵、死马、偏右,徐飞,阮一峰,天猪,裕波等大神一起工作哦。

悄悄地说,其实其他公司我也可以帮推荐。