http://www.cnblogs.com/arfeizhang/p/turntable.html

"如果有个做转盘的需求,你准备怎么做?设计师只会提供一个转盘的图片,其余都需要你完成,不能用框架和类库。"

"这个转盘没有惯性的需求,只要求在手机上,用手指拖转盘,能让转盘跟随手指转起来即可。"

这是我在面试前端开发人员时,经常会问到的一道题。转盘是类似上图的样子。

博主之前在M公司和C公司的时候,经常用这题面试移动前端开发工程师。M公司的产品和设计是美国团队,在个别项目上UI设计比较大胆脱俗,对前端开发人员有较高的要求。C公司的只会JS的前端开发人员占比较大,产品经理有时提出的让人眼亮的需求,但从前端开发口中得到的答复往往是:“这个我们实现不了。”,产品经理只能作罢。

于是我设计了这道题,希望能找到一些知识较全面,会综合应用的前端开发人员。在平时面试过程中,因为时间的关系,也不要求应聘人员将它用代码写出来,只和我聊下思路即可。在聊的过程中,我会就相关的一些技术细节深入问一下。

通过这道题,可以探知应聘人员在移动端的开发经验,以及前端知识综合应用能力。

这道题的需求很简单,但需要开发人员掌握较全面的前端知识。我们来看下这道题涉及到哪些知识点:

 CSS:

  • 背景图URL,位置和大小的写法(素材图片的尺寸可能不合适);
  • 容器圆角属性;
  • 旋转的实现;
  • 硬件加速是什么,什么条件下会开启硬件加速;
  • retina屏幕上为什么显示会模糊,如何避免?

JS:

  • 触摸事件;
  • 触摸事件和鼠标事件的不同处有哪些;
  • 触摸坐标获取;
  • 如果要两指一起拖动,圆盘才能旋转,代码需要做什么改变?
  • 为什么在移动设备最好用touch事件,而不用mouse事件?
  • 原生JS如何取DOM的内嵌CSS属性,如何获取外部样式表文件定义的属性?

Html: 

  • viewport 的参数和作用

数学:

  • 角度和弧度的换算
  • 向量计算
  • 三角函数

面试题大多如此,需求看起来简单,但涉及到的知识却不简单。大家如果有兴趣的话,可以拿这道题练下手(大家可以先只用考虑webkit内核)。我觉得,对于常规前端开发人员,会有较大提升吧。

PS.我做了一个,现在先不发布出来,过两天放出来大家参考一下。 :P

web 前端 转盘界面的更多相关文章

  1. 对WEB前端的几段思考(一)——界面设计和性能优化(整理中)

    尽管我并非艺术出生,既没有任何设计基础,又没有较高艺术涵养,也深谙在短时间内创造一定艺术造诣并非易事,但是既然当初选择从事网站前端开发,我的目光不能仅停留在前端代码上.作为一名志向在前端领域发展的人员 ...

  2. web前端的春天 or 噩梦

    「 微信应用号可以做什么」 简单说,微信"小程序"可以为开发者提供基于微信的表单.导航.地图.媒体和位置等开发组件,让他们在微信的网页里构建一个 HTML 5 应用.同时微信还开放 ...

  3. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  4. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  5. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  6. Web前端工程师成长之路——知识汇总

    一.何为Web前端工程师?          前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript ...

  7. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  8. Web前端框架与类库的思考

    说起前端框架,我也是醉了.现在去面试或者和同行聊天,动不动就这个框架碉堡了,那个框架好犀利. 当然不是贬低框架,只是有一种杀鸡焉用牛刀的感觉.网站技术是为业务而存在的,除此毫无意义,框架也是一样.在技 ...

  9. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十七】

    <Web 前端开发精华文章推荐>2013年第五期(总第十七期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

随机推荐

  1. servlet awt随机图片验证码

    package rd.test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java. ...

  2. java获取unicode码

    public String toUNICODE(String s)     {         StringBuilder sb=new StringBuilder();         for(in ...

  3. oracle中如何设置主键并且让其自动增长

    由于oracle中是没有自动增长的的,需要自己去进行写触发器等方式去进行设置: 找了一下他人写的,有两种方法可以设置主键,一种是自增长主键,另一种就是生成唯一序列. 一.自增长主键 我创建一个用户的信 ...

  4. 使用Nginx负载均衡搭建高性能.NETweb应用程序(转)

    一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的时候,就会创建一个线程,当线程达到几千个时 ...

  5. 基于Java的在线聊天室

    概述 Java socket编程,实现一个在线聊天室, 实现在线用户群聊,私聊,发送文件等功能. 详细 代码下载:http://www.demodashi.com/demo/13623.html 一. ...

  6. 自己动手写CPU之第四阶段(3)——MIPS编译环境的建立

    将陆续上传本人写的新书<自己动手写CPU>(尚未出版).今天是第13篇.我尽量每周四篇 4.4 MIPS编译环境的建立 OpenMIPS处理器在设计的时候就计划与MIPS32指令集架构兼容 ...

  7. 使用overflow:hidden处理元素溢出和坍塌

    溢出 css溢出示意如图,子元素(背景为粉色)的长度或宽度超出父元素(背景为绿色). 通过为父元素赋 overflow:hidden 样式可将子元素超出父元素的部分隐藏起来. 也可为父元素赋 over ...

  8. Swift2.0-异常处理(Exception handler)

    Swift2.0-异常处理(Exception handler) 前言 关于我们为什么要使用异常处理,请看百度百科为我们作出的描述,想要更详细的资料请点这里 异常处理,英文名为exceptional ...

  9. python如何获取公众号下面粉丝的openid

    如何获取公众号下面粉丝的openid呢,首先要获取一个access_token,这个token可不是令牌(Token),如何获取这个access_token呢?有两种方法,方法如下: # -*- co ...

  10. EMQ ---问题集

    1)emqttd 使用 SSL遇到的问题:服务器直接布了一份emqttd ,然后什么都没管,端口默认的ws 8083,wss8084,mqtt 1883,mqtt(ssl) 8883. 结果跑起来之后 ...