Ⅰ 接到了阿里的web前端开发面试,怎么准备这次面试
最好是向里面的人打听一下
Ⅱ 如何拿到阿里巴巴,百度,腾讯的前端实习生offer
1. 要有比较好的计算机基础
这里的计算机基础指的是数据结构与算法,操作系统,编译原理,计算机网络等等。虽然相对于其他方向而言,前端在工作中用到计算机基础的地方可能少一点,但是无论大小厂,招实习生其实都是为正式招聘做储备,所以会比较希望招将来有更大发展空间的人,就像里 Web 前后端分离的意义大吗? - 知乎用户的回答 和 怎样成为全栈工程师(Full Stack Developer)? - 知乎用户的回答 描述的那种。
如果你具备比较好的计算机基础素养,那么以后在拓展到其他领域(WebGL —— 计算机图形学,Node.js 底层 —— 操作系统,JS 引擎和各种预编译工具—— 编译原理, etc.)的时候会更快上手。另外有一些公司对前端的概念不局限于 Web 前端,也包括移动端偏前端的部分,这里也需要你有比较好的计算机基础才能做好。前端领域有很多人已经不满足于造轮子,直接跑去造语言了,如果你编程基础够好,接触过各种形形色色的编程语言和范式,再上手这些东西也会方便些(比如Ruby/Python->CoffeeScript,Haskell->LiveScript)。
虽然也有很多地方为了招到足够多能来干活的前端会降低对计算机基础的要求,但是打好这方面的基础是没有坏处的,如果面试笔试被问到且答得上来,也是能够加分的。一些大厂经常会出现“不是前端的面试官来面前端”的情况,我个人是觉得如果这类面试官问的都是计算机基础问题的话,其实真的无可厚非,毕竟人家在面“一个前端程序员”之前,是在面“一个程序员”啊……
2. 要懂得现代前端的一些新技术
比如:
前端自动化工具(Gulp/Grunt等)
模块化(CommonJS,AMD/CMD模块加载器,各种Bundler,ES2015 Moles等)
前端 MV* 框架(Backbone,Angular等)
编译到 CSS 和 JS 的一些语言(Less/Sass/CoffeeScript等)
前端自动化测试工具(Karma,Mocha,Web Driver等)
其他
有一些同学觉得这些东西懂得越多越好,我个人是觉得这些工具不一定要都了解(毕竟它们很多也未必能火多久),但对这些东西要有大致的概念,并且每个领域的用过一两种(最好是在项目里),清楚它们的优缺点和必要程度。这是区分在前端上投入过一定精力的人和跨行来兼职前端的人的标志。
去大厂校招应聘前端的会有很多只是做过一些 Web 项目,但不一定对前端的技术很了解,只是看前端门槛比较低就去投简历的人。如果你对这些新技术比较了解的话,起码能够证明你是比较专注前端而且花过一定时间在上面的。
同时,前端现在确实是一个每天都有很多轮子冒出来的领域,也需要你有足够强的自学能力和(英文)文档阅读能力去跟上社区的这些新动态。接触过比较多的轮子,才会有自己的判断,不会老是人云亦云火一个学一个。这些工具里,确实也有很多在合适的场景下可以提高前端的生产力或者代码质量,对这些东西有一定关注,也表明你对自己的生产力和代码质量是有一定关注的,这其实是一个更广义的靠谱程序员的特性。
3. 懂得什么是 Web 标准和浏览器开发维护的流程,并且会跟进新发布的标准和主流浏览器新实现的特性
当然面试的时候一般不会直接问你这方面的问题,但是如果你懂这里面的水大概是怎么一回事的话,在很多问题上(特别是兼容性问题上)都能回答得比较深刻一些。最好清楚:
HTML、CSS、DOM,ECMAScript 和一些泛 HTML5 的标准是怎么制定的
W3C 和 WHATWG 的区别
各种标准的不同版本和提交状态是怎么回事
知道标准和实现的差距(有些人喜欢把 W3C 标准奉为圭臬,但现实中浏览器们并不是这样的)
知道 ECMAScript 和 JavaScript 的区别
知道浏览器的一些常见做法(比如给 CSS 特性加前缀)的缘由
标准和浏览器这滩水还是很浑的,涉及到很多利益纠葛和大厂的博弈,如果你大概清楚他们的一些事情,不光自己做前端兼容的时候会容易一些(不会只抱怨“为啥XXX就是不能OOO”而是懂得他们的无奈并且认真寻找解决方案),在新特性出来的时候也更容易消化(不是“啊又出了个新东西要学好烦啊”而是“在邮件列表上争(si)论(bi)了那么久他们终于把这个搞出来了”),你自己对前端比较基础的那部分的知识体系更会有条理得多。个人觉得这也是区分比较有经验的前端和临时跨行的前端的关键之一,这些东西是需要你经过一段时间的耳濡目染才能理清楚,而且会在一定程度上影响你的工作的。
4. 多看书,多关注技术资讯
技术资讯的来源包括RSS、邮件订阅、比较重要的邮件列表、或者follow Twitter和微博上一些比较有影响力的开发者。个人经验是,一般在二面或者三面的时候,面试官都会问类似“你从哪里接触前端的新技术/你看过哪些书”的问题,因为前端现在技术更新很快,比较专注于前端这方面的人一般都会有自己接触新技术的渠道,他们自然也会比较关心候选人是不是有在跟进社区的一些动向。其实这也能够排除那些不太靠谱的临门跨行的人,因为他们平时一般不会特意去关注前端技术的新动态的。
5. 不仅懂得一些东西怎么写,更要懂得一些东西不要怎么写
Web 标准大多不是严格向后兼容的,很多几年前常用的写法,现在已经被社区的大多数人强烈建议避开了,有很多特性也随着时间的流逝被打上了 deprecated 的标签,如果你不幸拿着一本比较老的书入门,又不在网上验证上面说的每一句话,那么很有可能你就这样被误导很久,比如 HTML可能会逐步被XML所取代吗?(来自《css权威指南》) - 贺师俊的回答 这样的情况……与之类似的还有:
JavaScript 里那数量令人叹为观止的坑
一些在经验比较丰富的前端看来属于常识的东西(比如:为什么 CSS 大多放在 head,JavaScript 多放在 body 底端?)
划分各种模块、文件,添加模板的正确方式(比如错误方式是一堆脚本/样式写在一个超大文件里,或者在有替代方式的情况下在 JavaScript 里拼字符串)
解决一些老问题的新的best/better practice(比如不要到了 2015 年还深陷在回调地狱,去看看 promise 和 generator)
……
这些知识都需要你有一定的前端方面的经验,看过比较多相关的博客和书,才能慢慢积累起来,所以也能区分靠谱的前端和不靠谱的前端。
6. 不依赖某一个特定的框架或者库
比如很常见的“离开了jQuery就不会写前端”星人……也不是说要做原生 JavaScript/CSS 和 DOM 的原教旨主义者,但高度依赖某个框架或者某个库的话,通常意味着换了一个框架/库你的学习成本会比不依赖特定轮子的人高,因为这通常是处于还不知道前端领域“什么是什么”的阶段的表现。
事实上前端领域的这些轮子有一些都是其他领域早就有,或者根本不需要的东西,其中很多的实现原理也不是那么复杂,只不过是脏活累活。个人觉得对这些东西应该报以“不能知其然而不知其所以然”的态度,起码大概清楚它们的实现是怎样的套路,知道它们的优缺点,多接触几种,这样在换一个替代品的时候很快就能上手。
因为前端的特殊性,在开发比较大的项目的时候使用库和框架是必须的(比如遇到各种鼠标事件的前端兼容问题时,总不能全都就地写 if-else 吧,总得封装一下。遇到非常 data-driven 的项目,还用手动操作 DOM 的写法很难维护吧,用个 MV* 框架真的不纯是偷懒了),但是这些东西都是会迅速改朝换代的,死守着某个特定的库或者框架,确实不太靠谱。很多公司喜欢问候选人“原生 API 写个 Ajax 请求怎么写”这类问题,感觉很大程度上也是在排除这类人……
7. 懂一点点设计
这里说的不是切图啊PS啊AI啊什么的,而是大概懂基础的视觉传达/色彩构成/平面构成的知识。毕竟前端是和设计师联系最密切的程序员,虽然前端要做的事不仅仅包括 UI/UX,但是 UI/UX 却都主要依赖前端来实现。很多时候,设计师(特别是不会前端技术的设计师)给出的设计可能很难(在照顾兼容性的前提下)实现,这个时候不应该跟他硬拼让他改设计,或者自己默默纠结怎么用很 hack 很难维护的方法去实现,而是理解设计的意图,并且跟设计师沟通,尽可能在工程上容易实现容易维护的前提下实现设计的意图,哪怕要修改一些具体的表现形态。
最恐怖的就是丢一张图过来,让你做到 pixel perfect,你也不问三七二十一直接开工,代码写得别扭也不去沟通,遇到不兼容就打个哈哈蒙混过关了……设计的目标是让大众都能更容易地使用,这样做是与设计师存在的意义背道而驰的,我也遇到过一些设计师会主动来问前端怎样的设计在浏览器里容易实现,怎样的设计比较别扭,这样他才能结合多方面的信息去做设计上的决定。如果你对设计不关心,不与他交流的话,实际上相当于剥夺了一些关心工程实现的设计师的知情权(一般正常的设计师看到自己的设计实现出来效果不好,也会小郁闷的……)。个人觉得与设计师沟通的技巧,也是一个靠谱的前端应该具备的素养。
8. 懂一点点后端
(这个是我看了一下别人的答案补加的)。其实这个和第一点的目的类似,最重要的是别要做一个非得等队友来才能开工的人。大厂(主要是阿里系)有不少在用 Node 做前后端分离一类的事,另外做前端的经常要在后端还没写完的时候自己去 mock 一下数据接口,如果你懂怎么搭建简单的服务器和 serve 数据给前端,那么就可以提高开发的效率。即使你只想专注前端,但前端有很多东西(比如 JS 跨域,WebSocket,SSE,WebGL 的素材获取)都需要你懂得架设简单的后端才能去实践,这时候不懂后端通常就意味着你要放弃学习这些知识,或者只能纸上谈兵。一个正常的前端肯定是要对计算机网络和 HTTP 等协议有一定了解的,有了这些知识去学简单的后端其实是很水到渠成的事情。
9. 在前端投入足够的时间
意识到以上几点还需要投入足够多的时间才能看到成果,不然很容易出现“道理我都懂,可是OOO”的情况,那最后也还是靠谱不了的……如果不是真的对前端感兴趣并且投入足够多的时间,与其为了“好找工作”而投前端,不如转一个更合适的方向。阿里前端的困局与突围 · Issue #141 · lifesinger/lifesinger.github.com · GitHub 和 图灵社区 : 阅读 : 企业软件领域前端开发的困境 都能说明这个问题。
另外有些面试官喜欢问你一些很细节的 API (虽然我个人觉得这类问题很囧),这些东西很多时候都是靠的“无他,但手熟尔”,虽然有一些确实有点刁难人的味道,但有一些真的是如果你经常写前端,重复多几次就会记住的,如果记不住,只能说明你前端写的不够多。还有一些没足够实战经验的人很少遇到过的问题(比如 JS 跨域),也是需要在前端投入足够多的时间,才会接触到(无论是纸上谈兵,还是项目里遇到)。
其实综上所述,不靠谱的前端大概表现就是:计算机基础不好(更糟糕的是编程基础都不行,不过编程基础和计算机基础好不好跟绩点高不高专业对不对口这些其实真的不一定有什么关系……),对前端的认识还停留在十年前,对社区出现的新工具完全不认识(没认识全很正常,但完全不了解就有点两耳不闻窗外事一心只读圣贤书的味道了……),不懂 Web 标准是怎么回事或者不在意标准,遇到兼容问题就复制粘贴搜到的代码,对于一些在社区里是常识的坑毫无意识地各种踩,“离开了jQuery/某库/某框架就不会写前端”星人,或者平时根本没怎么做过前端的东西,只是做做 Web 项目顺带写前端,到应聘了临门一脚跑过来……不管是平时学习还是笔试面试,尽量避免向这些特征靠拢就可以了。事实上大厂们招人不一定会要求这么严格,而且大厂里的团队本身也未必个个靠谱,但是平时有在这些方面努力的话,起码如果挂了会知道自己哪里不足,或者到底是他的问题还是你的问题……
以上大概就是我觉得拿到大厂(or前端比较靠谱的中小厂)前端offer需要的水平,其实我感觉没必要拿“实习”这个词来限定自己,尽量往高水平靠拢,才能做到是你来选公司,而不是公司来选你,这样你才能结合兴趣/家庭/个人规划之类的因素拿到最适合自己的 offer。另外,我觉得面试这回事是这样的,上面提到的这些特征,每一条单独拿出来,在不确定面试官的情况下,既不是拿到offer的充分条件,也不是拿到offer的必要条件,某一条不满足,也不是拿不到offer的充分或必要条件。大厂的面试官有很多种,有些设计出身喜欢问设计,有些后端出身喜欢问偏后端的东西,有些喜欢问你API细节,有些喜欢问你实现思路,有些喜欢看你学习能力,有些面试官本来就不是前端所以喜欢问你基础题。如果你侧重某一些方面,虽然无可厚非,但是运气不好遇上期望不同的面试官,可能你就会得到比较低的评价或者挂掉。确定能拿 offer 的唯一途径,就是面面俱到,这当然是不可能的要求,但大厂的种种因素配合起来往往就是在找这种不存在的人才,真的想拿 offer 的话,就只有硬着头皮尽量靠拢。
就像国内很多大厂里比较着名的前端们文章/博客/知乎里提到过的一样,前端这块水不是很深,但水非常非常宽,在考虑将来作为一个前端如何发展如何应对天花板之前,先要脚踏实地把这些属于前端的“本分”的东西搞好。事实上前面提到的这些东西我也没有全都做到。作为前端,个人觉得最重要的是要保持一颗开放、谦卑的心,不要抵触新东西,永远记得外面的世界还有很多东西自己不懂,要继续学习。
Ⅲ 阿里巴巴每个月工资要多少
你好,阿里作为互联网大厂薪资待遇是不错的,但不同职级年薪也有不同,具体如下。
1、互联网大厂薪资最高的阿里巴巴
国内互联网大厂中,网络晋升快、腾讯最稳定、阿里巴巴独占薪酬高地。
即使是新入职的应届毕业生,刚入职到阿里薪资也是很可观的。阿里巴巴集团采用双序列职业发展体系:
虽然掌握web前端的语言基础已经能够胜任普通的web前端开发工作了,但不管是行业趋势或是大厂需求,都对工程师提出了更高的要求。单纯的网页开发技术已经不能满足当下大厂的要求。
自HTML5与CSS3出现以来,web前端的功能实现了质的飞跃。大厂需要的均是Web前端+全栈工程师的全能型人才,并开出高薪聘用,而普通高校一般还未能开设相关课程。对于想学习web前端的无基础同学来说,北大青鸟、课工场等优秀品牌都是不错的选择。课程根据招聘需求制定,包含大厂要求的所有技术需求,对标阿里P6级别。
希望我的回答对你有所帮助!
Ⅳ 阿里巴巴公司的薪酬待遇如何
马云一向对自己的管理和领导方法非常自信,认为自己那一套方法胜过马化腾和李彦宏,是中国最好的。阿里最厉害的地方在于团队配合和文化,很明显马云也这么认为:
" 别人开4倍工资也挖不走我的员工!"马云有这样的自信。
3、结了婚的员工接下来得生孩子了吧?女员工有超长带薪孕假,男员工有陪产假。不止如此,阿里巴巴的行政曾经采购了一批 300 元左右的孕妇防辐射服发给怀孕的员工,每人可以领到两件,价值 600 元。
4、阿里人除去每年一次的公费体检,每个阿里人还享有2 名公费体检的名额,你可以随意支配,留给自己父母也好,拿给配偶父母也成。
总而言之,待遇留人,阿里是把这点做到了极致。在马云的带领下,“挖不走”的阿里人不是神话,而是必然。
Ⅳ 阿里巴巴员工待遇怎么样
你好,阿里作为互联网大厂薪资待遇是不错的,但不同职级年薪也有不同,具体如下。
1、互联网大厂薪资最高的阿里巴巴
国内互联网大厂中,网络晋升快、腾讯最稳定、阿里巴巴独占薪酬高地。
即使是新入职的应届毕业生,刚入职到阿里薪资也是很可观的。阿里巴巴集团采用双序列职业发展体系:
虽然掌握web前端的语言基础已经能够胜任普通的web前端开发工作了,但不管是行业趋势或是大厂需求,都对工程师提出了更高的要求。单纯的网页开发技术已经不能满足当下大厂的要求。
自HTML5与CSS3出现以来,web前端的功能实现了质的飞跃。大厂需要的均是Web前端+全栈工程师的全能型人才,并开出高薪聘用,而普通高校一般还未能开设相关课程。对于想学习web前端的无基础同学来说,北大青鸟、课工场等优秀品牌都是不错的选择。课程根据招聘需求制定,包含大厂要求的所有技术需求,对标阿里P6级别。
希望我的回答对你有所帮助!
Ⅵ 阿里巴巴前端工程师是做什么的
入门级做页面。就这么简单。把Designer出的各种设计图转化成html+css+js+image的静态网页,并把它们交给后端开发人员制作成页面模板。这就是入门级的前端工程师所做的事情。
进阶级还是做页面。不过稍微复杂一些,你需要开始注意一些更复杂的问题,首当其冲的就是浏览器兼容性问题。老实说浏览器兼容性问题真的不是那么好搞定的,毕竟每个项目对浏览器版本的要求都不一样,而且现在不光有PC浏览器还有各种移动设备上的浏览器,同时国内厂家的浏览器种类也越来越多,坑也是密密麻麻。除了兼容性,你可能还要关注一下性能问题,包括但不限于网络性能、渲染性能、js逻辑的性能等等,这个展开讲可以写本小册子了,呵呵。
中级带团队。你可能会奇怪,一个中级工程师就能带团队了?可是真的很多公司就是这样,尤其是小公司。当你了解了html、js、css以及各种浏览器的各种特性细节之后,你会被任命带领一个小的开发团队,当然是前端开发团队。可能加你一共也就三四个人,甚至更少。这时候你的工作内容除了自己写一点页面以外,还会帮助组员解决各种各样的细节问题,毕竟,组里,你是最懂技术细节的。这个时候,一部分人开始停步不前,而另一部分人开始关注另一个新的问题:工程化。前端代码都是非常松散的,项目结构性差,一旦开发人员数量多起来,业务复杂起来,如何管理这么多人、这么多代码是个非常大的问题。能否在这个问题上得到突破,决定了你能否迈向下一个级别。
高级架构设计。此时你熟悉前端开发的各种技术细节(当然忘了一部分细节也没事 ^_^),同时对各种前端框架、技术的特性聊熟于胸,你知道如何组织和管理项目让大家能以最快的速度达到项目要求,你甚至了解手下每个人的所长所短。于是当新项目到来,你迅速根据自身过往的经验选取若干种技术和工具,配上你认为最合适的人选组成项目团队,披荆斩棘日夜兼程将产品汪的各种奇葩需求斩于马下。这么做了一两个项目之后,你可能又觉得空虚了,你要寻求新的目标。恰好,NodeJS打开了通往新世界的大门。
非典型前端穿过NodeJS打开的大门,你进入了全新的世界——后端。全新的世界,无限的可能。楼上寸老师说的“上天入地,无所不能”,我猜就是这个状态。爱干嘛干嘛吧,这个时候,你应该不会再来问“后端程序员都在干嘛”这种问题了。其实,要成为一名“非典型前端”并不一定非得经过1~4的步骤。只是现在已经上了年纪的前端大多是这样过来的,毕竟,NodeJS出来的时间也并不算很久。
Ⅶ web前端开发 这个alibaba页面是怎样做到自适应屏幕的
我目前是在职前端开发,如果你现在也想学习前端技术,在入门学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我的前端学习交流裙:前面:107中间:418最后:2891。里面聚集了一些正在自学前端的初学者,裙文件里面也有我做前端技术这段时间整理的一些前端学习手册,前端面试题,前端开发工具,PDF文档书籍教程,需要的话都可以自行来获取下载。
Ⅷ 阿里巴巴产品经理前端开发哪个好
你这个问题你自己看得懂么?你自己都看不懂 你怎么能让用户(面向的对象)看懂 你这是想诚心的做一个产品经理或者前端么?
而且你这个问题问得 别人无所适从
如果这个问题就明确的答案 那估计有另一个岗位就不会有人去做了
不过根据你提这个问题的思维逻辑 如果硬是要选择一个建议你做前端开发 至于原因我相信聪明的你会明白的
Ⅸ 马云的阿里巴巴员工年薪到底有多少
你好,阿里作为互联网大厂,薪资水平是很不错的,不同职级待遇也不同,具体如下。
1、互联网大厂薪资最高的阿里巴巴
国内互联网大厂中,网络晋升快、腾讯最稳定、阿里巴巴独占薪酬高地。
即使是新入职的应届毕业生,刚入职到阿里薪资也是很可观的。阿里巴巴集团采用双序列职业发展体系:
虽然掌握web前端的语言基础已经能够胜任普通的web前端开发工作了,但不管是行业趋势或是大厂需求,都对工程师提出了更高的要求。单纯的网页开发技术已经不能满足当下大厂的要求。
自HTML5与CSS3出现以来,web前端的功能实现了质的飞跃。大厂需要的均是Web前端+全栈工程师的全能型人才,并开出高薪聘用,而普通高校一般还未能开设相关课程。对于想学习web前端的无基础同学来说,北大青鸟、课工场等优秀品牌都是不错的选择。课程根据招聘需求制定,包含大厂要求的所有技术需求,对标阿里P6级别。
希望我的回答对你有所帮助!
Ⅹ 如果进阿里前端,代码能力得达到什么程度
因为之前淘宝或部分商业公司,代码能力能够满足业务的需要可以勉强通过,现在要求,可以满足未来业务的需要,至于未来的业务需求,它需要你有一定的商业思维,站在技术的角度寻找更多的可能性和结合点。例如,如果你需要能够覆盖你的业务,你必须能够独立地覆盖它。一些新技术如果对业务有帮助,就可以集成。
我接下来的几个项目,包括一个要求是视频监控,之前的老师是用微软的ActiveX,因此只能使用IE浏览器。我感觉很糟糕,所以老师推荐的“高级”技术越多,使用VLC构建视频转码服务器,然后使用WEB RTC进行处理,使用HTML 5视频元素进行显示,这种兼容性和可扩展性远高于ActiveX。在此基础上还对机会进行了研究,包括项目的信息传递,地理定位需求也尽可能地使用流行的方式。