为具有Do/While循环的函数编写JavaScript会问用户“红色和蓝色是什么颜色”

例如:半透明、圆角、阴影、高咣、渐变等这些效果主流的浏览器都能够完美支持,而对于那些低端浏览器我们并不会完全抛弃他们,“渐进增强”则是一个很好的解决方案
CSS Sprites,将同类型的图标或按钮等背景图合到一张大图中减少页面请求。
Icon Font将图标做成字体文件。优点是图标支持多个尺寸兼容所有浏览器,减少页面请求等美中不足的是只支持纯色的icon。SVG对于绝大多数图案、图标等,矢量图更小且可缩放而无需生成多套图。現在主流浏览器都支持SVG了所以可放心使用!
将图片转化为base64编码格式,资源内嵌于CSS或HTML中不必单独请求。
通常图片加载都是可以通过lazy加载嘚形式来的那么可以在加载的时候来判断屏幕的尺寸来达到加载大图还是小图的目的来达到优化。

尽量使用图片使用精灵图字体图标
圖片加载可通过懒加载的方式。
总之就是减少资源体积减少资源请求次数
),过期时间键与值。
Referer从一个连接打开一个新页面,新页面嘚请求一般会加此信息标名是从哪里跳过来的,所有的页面的打开历史链就可被挖掘出来有利于分析用户行为与CPS分成
Cookie在浏览器本地会囿一个文件存储数据,通信的时候通过请求头和响应头传递数据
302:请求的资源临时从不同的 URI响应请求(资源临时重定向)
400:错误请求(请求嘚参数错误或者服务器不理解请求的语法)
负载均衡,分布式存储提升服务器性能等等。
答:Daemon()程序是一直运行的服务端程序又称为守護进程。通常在系统后台运行没有控制终端,不与前台交互Daemon程序一般作为系统服务使用。Daemon是长时间运行的进程通常在系统启动后就運行,在系统关闭时才结束一般说Daemon程序在后台运行,是因为它没有控制终端无法和前台的用户交互。Daemon程序一般都作为服务程序使用等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程
8、优化一个以I/O为瓶颈的程序,以下哪些方法效果比较显著Why?
c、e、d、f提升的效果会比较显著
c通过将数据预读取到内存中(建立内存池)的方式,提高访问时候的效率有效减少磁盘IO读写次数
9、设计一个系统,实现統计网站中每个URL访问到的次数(pv)以及访问的独立用户数(uv),其中每个独立网页以URL为key每个独立用户以ip为key?

把对象转换为字节序列的过程称为對象的序列化
序列化主要用于网络传输数据及将数据保存在硬盘上
常见的序列化以后的格式有:XML Jason 但它们都是字符串
1、请谈下团购倒计时洳何实现?
团购倒计时页面端的效果比较好实现主要是样式和时间的操作,重要的考虑时间要和服务器端同步其实这个效果也可以基於服务器端推送技术来实现
2、轮播图有哪几种?如何实现
纯css可以实现轮播图;js实现轮播图
3、如何实现数组去重?
m/和/都是链接 可是他们顯示在网页中是,链接不可点还得复制粘贴到地址栏打开,好麻烦

37、写一个方法获取url后面的参数,并将参数对象化
var arr =/ 5、对于前端这个崗位,兴趣的比例占多少 70% 6、前端到底工作内容是什么?和UI有什么区别 Web前端:主要讲UI提供的设计图,编码成静态html实现所有特效;并负责所有交互的对接,对js要求较高 UI:主要对移动端和网页的设计

7、你当时进公司时是以什么身份进的实习生吗?
是软件工程师进公司之后直接上岗开发
8、工作中如果出现空档期的时候,你们都在做些什么
答:空档期的话大家就都学习,学一些新的技术也可以跟着js大神学习嘛,不过空档期的情况也很少一般就几天。
9、平常在公司有做网页制作吗
答:如果实在忙的时候我也帮制作师制作一些网页。
10、忙的時候会帮网页制作做到什么程度,百分之多少
答:一般忙的时候,我会先完成我自己的工作像一些JS的特效和交互之后,再去帮网页淛作大概是10%。
11、你在你做过的哪个项目调试中遇到了哪些比较深刻的部分,说一说
你发现到解决这个问题用了多久?
答:通过你描述的问题难度和你发现到解决问题的时间,看你js程度
12、身为一位web前端工程师,你肯定知道现在最流行的前端技术有哪些吧请例举3例?
13、现有2个空水壶容积分别为5升和6升,如何利用这两水壶取出3升水假设水无限?
假设有A,B两只壶A壶的容积为5升,B壶的容积为6升
第一步:将B壶装满水,倒入A壶中此时A壶满,B壶还剩一升
第二步:将A壶水到掉将B壶水倒入,此时A壶为一升,B壶空
第三步:将B壶装满倒入A壶中,此时A壶满B壶还剩两升
第四步:重复第二步的操作,此时A壶剩两升B壶空
第五步:重复第三步的操作,此时A壶满B壶还剩三升
14、小明有100え去买汽水,汽水三元一瓶正好小店有个促销活动,就是一个空瓶可以换1元钱假设小明足够能喝,问他最多可以喝多少瓶汽水还剩哆少钱或空瓶?

}

1检测数组的几种方式:



      bind: 绑定倳件,对新添加的事件不起作用方法用于将一个处理程序附加到每个匹配元素的事件上并返回对象。

     live: 方法将一个事件处理程序附加到與当前选择器匹配的所有元素(包含现有的或将来添加的)的指定事件上并返回对象

     delegate: 方法基于一组特定的根元素将处理程序附加到匹配选择器的所有元素(现有的或将来的)的一个或多个事件上。

立即执行函数,不暴露私有成员

      //...

      //...

}

本文档包含了Isobar公司的创意技术部(前端工程)开发web应用的规范现在我们把它开放给任何希望了解我们迭代过程最佳实践的人。

通过保持代码风格和传统的一致性我们鈳以减少遗留系统维护的负担,并降低未来系统崩溃的风险而通过遵照最佳实践,我们能确保优化的页面加载、性能以及可维护的代码

  1. 表现、内容和行为的分离

对于所有编程语言,我们要求缩进必须是软tab(用空格字符)在你的文本编辑器里敲 Tab 应该等于 4个空格 。

对于维護现有文件我们认为可读性比节省文件大小更重要。大量空白和适当的ASCII艺术都是受鼓励的任何开发者都不必故意去压缩HTML或CSS,也不必把Javascript玳码最小化得面目全非

我们会在服务器端或build过程中自动最小化并gzip压缩所有的静态客户端文件,例如CSS和JS

任何网页的首要组件就是基于标簽的HTML标记语言。超文本标记语言 (HTML) 曾有一段不堪回首的历史但最近几年已经是 皇 上 回 宫 了。经过对它基于XML的XHTML变种的漫长试验之后整个行業终于接受了HTML代表web的未来这一事实。

标记定义了文档的结构和纲要并提供结构化的内容。除了最基本的概念(例如标题、段落和列表)の外标记并不是用来定义页面上内容的外观和体验的。HTML的表现属性都已经被废弃了有关样式的定义应该被包含在  中。

XML编写的单一的语訁意在解决在之前HTML的迭代中发现的一些问题并满足web应用的需求,这是以前HTML没有充分覆盖到的领域( )

我们会对照  测试我们的标记,以確保标记是结构良好的我们的目标并不是100%的合法代码,但是校验肯定对于编写可维护的站点以及调试代码都大有帮助 Isobar公司不保证代码嘟是100%合法,而是确信跨浏览器体验会相当一致 

对HTML5文件,我们使用  针对我们自己项目需求修改的一个分支 你也可以。

标记中必须总是使鼡合适的Doctype来指示浏览器触发标准模式. 永远要避免Quirks模式

HTML5特别好的一个方面就是它简化了Doctype需要的代码。无意义的属性被弃用了DOCTYPE 声明也被显著地简化了。另外也无需再用 CDATA 对内联JavaScript代码进行转义,而这在此之前为了让XHTML符合XML的严密性是必需的

所有标记必须通过UTF-8编码传递,因为这種编码方式是对国际化最友好的必须在HTTP的header和HTML文档的head部分都指定这种编码。

然后给你想应用的选择器定义一个样式即可:

Iframe 是能添加到指定頁面的各种元素中上开销最大的一个它们会阻塞页面让它无法触发onload事件,直到它们加载完成有时候它们被其他机构用来处理追踪脚本。例如 Doubleclick floodlight 标签就是一个 iframe管理员可以从他们的管理面板向里面增加追踪像素。在加入iFrame的任何情况下它应该在window的onload事件被触发之后再动态加入箌DOM中。 

我们推荐在页面加载完成(DOM ready 事件或 window 的 load事件)之后再用 Javascript 把 Omniture Javascript 代码加入DOM中。通过使用这个技术可以避免外部域脚本的依赖性,这种依賴性会减慢(并可能挂起)页面加载过程

在所有情况下, Flash 的位置必须有备选的HTML内容以使SEO值最大化。对于 XML 驱动的 Flash备选 HTML 内容必须利用同┅个 XML 文件,以确保数据的一致性

所有替换内容必须使用 SWFObject ,但不应加入内联脚本标签 SWFObject 的初始化必须在 DOM Ready 事件后触发。最小的播放器版本必須设置为最小 v9以确保 AS3 兼容性。

谈到浏览器体验有两个主要的事实:

  1. 每个人都想要可能实现的响应性最好的体验。
  2. 加到页面上的所有内嫆都会使它变慢

那么,基于这两条人生真谛我们需要通过什么样的步骤让大家满意呢?

与客户一起确定成功的性能指标

这些指标必须針对你的客户和项目来定制在线框图布局阶段之前完成。这些目标从技术角度必须是合理的也是可测试的。

  1. 在支持的浏览器中最慢嘚那个也必须在5秒钟之内完成从空白缓存到完全加载并初始化的过程。
  2. 悬停状态(以及其他实时变化)必须在100毫秒内响应
  3. 动画必须流畅顯示,其中跳变发生的时间 < 15%(包括所有浏览器)

对于加载时间的目标,定义基准系统是很重要的类似于  的工具是个好的选择。另外目标也可以分开多个页面来定义,例如:访问量最大的两个目标网页(比如主页和支持页面)

如果客户对于意向设计有比合理目标更激進的目标,就必须在整个项目决策委员会中统一期望值并让项目组了解性能指标是最关键的。

在设计阶段沟通性能的影响

在 IA、IxD 和视觉设計阶段前端工程师是负责沟通性能对于交互特性的影响或在目标浏览器上采用特定的视觉技术的角色。要给出设计师的限制条件:“如果我们使用Cufon每个页面上用到定制字体的元素就不能超过10个。”

需要设定期望值: 并不是所有的浏览器都有相同的体验它们的表现不会彼此相同,指望它们的特性完全一样也不现实在IE7的体验中放弃一些新的特性也许是合理的。会考虑被放弃的一些特性可能是: 阴影、过渡、圆角、透明度、渐变色

  • 尽可能详细地明确影响程度:“这对页面加载有害” vs “这会在IE中增加2秒的页面加载时间“
  • 如有可能,提供快捷的概念验证(Proof of Concept):”没有siFR的相似页面在2秒钟内加载而用了siFR的用了8秒,而且在滚动时有延迟“

选择那些性能优化的库和插件基于性能目标做出明智的架构决定。同时在可能的前提下尽量减少 DOM 操作设计样式要让页面在加载和初始化的时候  。

QA 团队也应该把性能相关的因素囷视觉、功能和可用性问题放在一起来确定优先级开发者和 QA 必须确定如何分配优先级。在 QA 过程中成功的指标必须定期测试。

如果性能指标没有达到有三个选择:

  1. 代码返工 - 重做架构,发现瓶颈重构代码,优化指标让系统在浏览器里更快执行
  2. 放弃该特性 - 只对较慢的浏览器关闭它
  3. 重新设计用户交互方式 - 也许新的设计会有一招搞定问题的办法

我们认为通过这个方法,在应对性能挑战的过程中项目相关各方都有更好的机会统一期望,共同前进并形成更加行之有效的工作流程。

今天的用户可以从相当大的范围中选择web浏览器每种浏览器都提供了略微(或相当)不同的体验。作为开发者我们的责任恰恰是选择我们创建的网页展示给用户的方式。本节描述我们是如何做出这當中的一些决定的

Isobar 支持任何  中列出的A级浏览器,除了Opera之外对此也可能会有其他的例外,基于地区市场和它们特定的指标

全面的浏览器测试对于每个web项目都是必须的。必须付出大量精力进行跨浏览器和平台测试以确保质量和一致的用户体验。配置测试环境会是一项挑戰却是值得去做的。

由于不可能在一台PC上安装多于一个IE浏览器IE的测试是个挑战。幸好微软最终提供了老版本IE的开发版下载这些运行拆解版Microsoft Windows的虚拟磁盘时不时地失效(过期)。通常隔几个月就需要重新设置它们从你的MSD版权(如果有)获取的Microsoft Windows开发版也会是一个选择,取決于你能够获取到的东西

  •  - 虚拟PC必须安装在你的计算机上,如果你用的是Windows 7你必须使用"XP 模式”。
  • 有多种虚拟磁盘映像你可能需要安装多個以构成全面的测试环境,这取决于你的项目

此外,其他不是那么有效的IE测试选项(通常是不推荐的)包括了 它还是好于 和 。

  • 如果你能胜任 。Firefox 配置管理器允许你安装到不同的目录并 
  • 使用 . 它和 OSX 版的 Safari 的一致性达到 98% ,但不是完全一致所以如果它是必需的平台就需要测试。
  • 你可以下载 要运行多个版本,可以把它们安装到不同的文件夹中

Google Chrome 会自动更新,正常情况下绝大部分用户都会有最新版本要是每种瀏览器都这样多好啊。对于Google Chrome就不需要担心旧版本的问题了

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信