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. NET设计规范二:类型成员设计

    http://www.cnblogs.com/yangcaogui/archive/2012/04/20/2459567.html 接着 → .NET设计规范一:设计规范基础 上一篇,我们来了解下类型 ...

  2. Some web Address

    1.可视化算法(Data Structure Visualizations) https://www.cs.usfca.edu/~galles/visualization/Algorithms.htm ...

  3. java线程--volatile实现可见性

    volatile关键字: 1)能够保证volatile变量的可见性 2)不能保证volatile变量复杂操作的原子性. volatile如何实现内存可见性: 深入来说:通过加入内存屏障和禁止重排序优化 ...

  4. 重要:Linux下IDE--KDevelop (用来跟踪调试C++) Ubuntu下QT4开发环境的搭建及初体验

    Linux下安装Qt4有两大问题,一是环境变量,二是IDE(集成开发环境).安装Qt4也有两种方法,一种是apt-get,一种是下载源码包,而后 一种方法已经人证实是最有可能不好使的方法.所以我最终采 ...

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

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

  6. Python 字符串与数字拼接报错

    Python 不像 JS 或者 PHP 这种弱类型语言里在字符串连接时会自动转换类型,而是直接报错. 如: 上述是Python 字符串与数字拼接报错,解决办法是:使用bytes函数把int型转换为st ...

  7. centos时间调整的操作(转)

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.  如果没有安装,而你使用的是 CentOS系统 那使用命令 yum ins ...

  8. Linux命令-权限管理命令:chgrp

    groupadd shuaige 创建一个用户组名字叫shuaige ls -l /home/wangyunpeng/abcd 查看abcd文件的权限 chgrp shuaige /home/wang ...

  9. C#:XML操作(简单)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

  10. 在Cocos2d-X中使用xml

    XML就可以扩展标记语言.在游戏开发中,经常使用于保存游戏信息,如最高分,游戏等级.等信息,和描写叙述一些资源等,我第一次使用xml是在使用CCAnimation创建动画中,使用plist文件载入动画 ...