前端岗位要求和面经

前端方向:
IOS/Nodejs/Android/Windows/Web前端(HTML+CSS+JavaScript)

【职位要求】
1、
页面布局采用div+CSS,用JavaScript实现表单验证
结构层HTML,表现层CSS,交互层JavaScript(也有人称之为行为层)
描述网页内容的HTML、描述网页样式的CSS以及描述网页行为的JavaScript
2、
手写符合W3C规范、简洁、有效的代码,熟悉Ajax和JQuery;
熟悉各种主流浏览器对CSS和JavaScript不同特性的兼容
基于Html编写可复用的用户界面组件,优化页面下载速度
配合后台工程师一起研讨网站的架构设计和规划实现方案
3、
易用性改进和界面技术优化
用过git,grunt或gulp工具,最好有自己的github仓库
有基于Ajax应用的开发经验,有NodeJS或Java开发经验
网站上下载PSD设计图,然后将其转换成Web页面。
4、
有良好的程序设计和架构能力
具备HTML5、CSS3开发技术、有基于Ajax应用、NodeJS/Java开发经验
对表现与数据分离、Web语义化等有深刻理解
熟练掌握Chrome或Fierfox开发调试工具的使用、熟练使用SVN版本控制软件
Web(PC+Mobile)/NodeJS/Native App三个方向上至少精通一个方向
对前端工程化与模块化开发有一定了解,并有实践经验(如RequireJS/SeaJS/KISSY等)
根据需求、分析给出最优的前端技术解决方案


属性HTML5/CSS3/JavaScript/JQuery、Ajax等核心的Web前端技术
具备互联网交互设计能力
属性后端服务器运行环境和数据通信协议
掌握响应式布局框架、Bootstrap、AngularJS

【前端面经】
博客和github
1、值类型 引用类型的理解

2、闭包+作用域链+单线程+垃圾回收
问你对闭包中一些变量的生存期,闭包一些值如何才能够作用域链中获取,setTimeout函数的考核,
GC的标记清理和循环计数等,算是些比较常见也比较容易出错的点。

3、作用域+构造函数+设计模式+对“类”的深入理解

4、原型链+继承+ES5+继承优化
ES5中Object.create()函数,prototype,new Class()等之间的相互比较,坑很多,容易踩进去。

5、例如事件处理程序、Ajax、跨域、闭包等(这些在《JavaScript高级程序教程》一书中都能找到答案)。
 后来问了一些网站优化问题(答案请参考“雅虎网站优化35条”),
 最后就是有什么问题问他(常规问题,基本每次面试都会问),
 最后挂电话之前又追问了一个CSS hack问题(浮动清理问题)。
 
6、奢华的低调
 项目中遇到的最大的问题是什么?
 那你觉得什么能够体现你对前端的热爱?
 你为什么会选择前端开发?为什么不选择IOS、安卓之类的开发?
 除了Ajax,你了解像JSONP这种跨域的方式?
 那CORS和JSONP最大的不同是什么?
 谈下你对前端的理解,为什么选择前端?
 
 框架:阿里现在主要在用的框架是Kissy、sea.js框架
 seaJS是为了实现JS的模块化开发和JS加载机制,在项目中经常用;
 kissy是淘宝开发的一个轻便的JS库,包含常见的一些js组件和方法,目前在项目中没有尝试过。

7、
 JavaScript作用域链
 JavaScript变量声明提升
 JavaScript原型链
 数组元素去重的方法
 如何解决回调层级过深的问题
 Ajax跨域的几种方法以及每种方法的原理,比如Jsonp的原理,使用window.name属性通过递延来跨域的缺点

 前端页面如何优化
 如果有成千上万个页面该如何管理
 如何解决重绘和回流的问题
 当需要更新一个ui节点下的1000个li节点的某个属性时候该怎么做才能保证页面性能
  
8、
 (1).使用一个JSON对象,描述下面一句话:
 小明22岁,来自杭州,爱好看电影和旅游。小明有两个姐姐,一个叫小红,25岁,是一名经理。另一个叫小兰,23岁,是一名数学老师。
 
 (2).为本地Array数组编写一个原型,实现将数组中具有相同元素的元素删除(意思是只保留一个),并返回删除后的数组。
 
9、
写一个通用的事件侦听器函数
在web页面上实现打印乘法表
对js框架的了解,以及js跨域的访问,css盒模型的理解之类的吧

10、
经常去GitHub上关注哪些项目,有自己的账号么?
(我就把自己的GitHub账号给他说了下,他打开浏览了一下,然后交流了下几个我push上去的例子。
还告诉我,既然有这个账号,完全可以写到简历上,哪怕没啥有质量的东西。
好吧,我的确是因为没啥东西,所以GitHub这个东西就没写上去。)

11、
定位,拖动相关的api,bfc,事件委托(冒泡,捕获),还特么问怎么算椭圆面积,跨域
没问闭包没问原型,类数组(arguments怎么处理slice一下就成)

12、
闭包原型ajax内存泄露等
模块化和工程化

13、
熟练使用git或svn等版本控制系统
Backbone这种的一天内要知道基本使用方法,AngularJs这种则是两到三天时间(能够做出个TodoMVC出来)

14、
面试无非就是 http  cookie  js框架 闭包  网络安全  ,
前端性能优化,css3 h5,相关新特性 ,缓存啥的,以及对应网络知识和算法
还有就是会根据简历问,你遇到什么困难怎么解决
你觉得还有那些可以优化

【阿里在线笔试】

做项目时遇到的问题,你的解决办法;(我觉得这个问题很重要,考察一个人解决问题的方法习惯等等)

用户用浏览器访问一个网站的时候具体的过程与步骤;

浏览器本地存储、Cookie的弊端

① 作用域问题
PS:其实是settimeout会抛往主干流程外......
var a = 6;
setTimeout(function () {
    alert(a);
    a = 666;
}, 1000);
a = 66;
② 语义化标签
这道题我确实没辙,之前其实差点写类似的博客,却没有写,今天结束后补上吧!
PS:不要小看这些题,80%人答不上来
1)tite与h1的区别
2)b与strong的区别
3)i与em的区别

③ 事件绑定
addEventListener,第三个参数是用来表示事件是以事件冒泡还是事件捕获这个各位都知道!但是他问的问题是:
我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获!!!
来吧,谁能说出来。。。

④ CSS选择器问题
考察优先级问题,反正会出很多莫名其妙的变形,
比如将style标签写在body后与body前有什么区别,
比如同一dom应用多个class其应该如何表现,比如class a定义颜色为blue,class b定义颜色为red,
同时应用到dom上,dom作何显示。。。
---/---/---
作用域:答案是66
语义化:后面的具有语义化,推荐使用,前面的纯样式定义
关于事件绑定:
应该是两次,但是都是在目标阶段触发
关于class不同的颜色定义:
定义在后面的会覆盖前面的

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值