如果进阿里前端,代码能力得达到什么程度?

徐小夕
• 阅读 1538

笔者身边有很多在阿里不同部门的朋友, 也曾经被面试过阿里, 也面试过很多求职者, 这里笔者通过自身经验, 来谈谈如何面进大厂(比如阿里).

为了保证回答的逻辑性和堵有所获, 我将按照以下3点来谈前端如何才能进大厂(阿里):

  • 阿里不同部门的技术和要求
  • 大厂喜欢的求职者需求具备哪些能力和潜质
  • 如何打造程序员的职场核心竞争力

首先像阿里, 字节, 腾讯这些大公司, 旗下会有非常多的子公司, 子部门, 不同部门之间由于研究领域不同, 所以对技术的要求, 等级也不同, 所以你需要根据自身的技术偏好, 选择或者投递对应的部门. 但是大厂对前端技术要求都会有一些共性, 下面笔者会详细介绍.

阿里不同部门的技术和要求

这里忽略一些假大空的前端技能需求(这些大部分都是培训机构的套路), 我们直接看看Boss上阿里不同岗位的一些要求.

对应届生的要求

  • 具有良好的前端和计算机基础(特别是 js)
  • 皮实乐观自省

至于前端基础, 至少要把下面的知识答对70%:

中高级前端工程师

岗位描述

参与芝麻信用事业部个人信用、商业信用、企业信用 等业务产品线研发; 参与移动端 H5、React、小程序、Node.js 应用框架体系建设以及前端工程体系建设。

岗位要求体

  • 熟练掌握移动端 H5 、PC端开发,熟悉主流移动浏览器的技术特点;
  • 熟练运用 JavaScript 语言与 HTML5、CSS3 等技术;
  • 熟悉模块化、前端编译和构建工具,如 gulp/webpack/rollup 等;
  • 熟练运用主流前端开发框架,并理解其设计原理,例如:React、Vue、Angular 等;
  • 能提供完善的 WebApp 技术方案,了解 native 移动应用开发,有类 react native 开发经验者优先;
  • 对技术有强烈的进取心,具有良好的沟通能力和团队合作精神、优秀的分析问题和解决问题的能力;
  • 熟悉 Node.js Web 应用开发,有koa、egg.js等开发经验者更佳。

高级前端工程师

  • 精通各种前端技术(包括HTML/CSS/JavaScript等),熟悉ES6+语法,具备跨终端(Mobile+PC)的前端开发能力,熟悉网络协议(HTTP/SSL),熟悉常见安全问题和对策;
  • 熟悉前端工程化与模块化开发,并有实践经验(如gulp/webpack、VueJS/React等);
  • 至少熟悉一门非前端的语言(如NodeJS/Java/PHP/C/C++/Python/Ruby等),并有实践经验;
  • 对前端技术有持续的热情,良好的团队协作能力,提升团队研发效率,实现极致性能,通过创新交互优化产品体验;

加分项(满足其一即可)

  • 具备客户端能力或者Native&Web技术融合经验;
  • 熟悉Canvas动效&WebGL3D以及各种传感器技术;
  • 复杂企业后台应用开发经验;
  • 数据可视化产品设计开发经验;
  • 大规模/高负载场景下NodeJS应用开发、运维经验;
  • 良好的算法背景,对机器学习有研究和项目实施经验;
  • 有独立的开源项目或者参与知名开源项目经验;团队管理能力;英语沟通能力。

资深前端开发工程师

工作职责

  • 负责共享业务团队相关业务开发,包括支付体系、基础能力、创新业务等相关C端及B端业务或系统的前端架构设计、开发与优化,覆盖Web应用、支付宝小程序、微信小程序、多端组件库、可视化搭建等多个方向;
  • 参与团队前端工程化体系建设,提升研发效率、研发质量;
  • 与其他团队成员合作打造提升公司整体运营效率的产品;
  • 关注前端前沿技术发展,能够对团队输出新的技术与思想,并落地到现有项目中。

任职资格

  • 3年以上相关工作经验,有扎实的计算机基础知识;
  • 深入理解Web前端开发技术,包括HTML/CSS/Javascript等;
  • 至少熟悉React/Angular/Vue等其中一种主流的前端框架,并了解底层原理;
  • 熟悉网站性能优化,了解浏览器实现原理;
  • 了解http协议的基本原理,了解常见的web性能优化手段、常见漏洞;
  • 优秀的团队合作能力,沟通顺畅,追求卓越,乐于创新,敢于尝试。

加分项:

  • 了解Andriod开发或IOS开发、部署相关知识
  • 熟悉node开发,能够开发node web, node cli, node desktop等类型的应用
  • 熟悉linux及操作系统概念。

前端高级专家

工作内容:

  • 负责前端界面的前端构建,各类交互设计与实现;
  • 负责组件库设计优化和高效使用;
  • 负责前端工程化工具实现;
  • 负责智能研发体系的建设。

职位描述:

  • 至少5年以上前端开发经验,本科学历及以上,其中2年以上的H5开发经验,掌握移动端开发(H5 Hybrid),以React/Vue为主的技术栈开发经验;
  • 精通HTML(5)、CSS(3)、JS,精通页面布局,SEO和语义化,熟练使用LESS或SASS开发;
  • 精通DOM、BOM、小程序等前端技术,掌握面向对象编程思想,对常见JS框架有丰富的经验和深入理解,完整的源码阅读最佳;
  • 熟练掌握构建、打包等框架及生态圈技术,具备实战经验和优化经验;
  • 具备性能优化知识体系和实战调优经验,具备架构设计能力;
  • 对多浏览器兼容性、多设备和Android/iOS版本兼容问题处理有一定的经验;
  • 热爱技术、主动钻研、沟通和协作能力优秀,抗压能力强;
  • 至少掌握一门后端开发语言及数据库技术。

接下来我们再来谈谈大厂对求职者的一些偏好.

大厂喜欢的求职者需求具备哪些能力和潜质

其实衡量一个工程师的价值, 会从几个维度:

  • 工作经验
  • 学习能力
  • 可持续性
  • 可挖掘性
  • 影响力

对于不同阶段的工程师会有不同的侧重, 一般大厂除了工作经验之外, 还要考量求职者的技术持续性, 比如说是否会坚持一件事, 是否能创新性的解决问题, 这里可以给大家提点忠肯的建议:

  • 坚持写博客, 复盘
  • 做有价值的开源项目
  • 参与到前沿技术社区中, 锻造影响力

如何打造程序员的职场核心竞争力

如何打造程序员的核心竞争力, 其实是一系列的事情. 在面试阿里或者其他大厂时, 我们需要对自己以及技术有个全面的定位, 剖出自己的价值, 在代码能力具备之后还要考虑其他方面的能力, 比如沟通能力, 领导力, 产品思维, 解决问题的能力, 根据我们上面提到的不同段位面试的要求和职责, 我们需要深度思考自己的长短板, 发现自己感兴趣的领域从而持续深入, 而不是什么都想做, 却什么都做不精. 希望能有所帮助.

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这