1. HTML5新增了哪些新特性和标签?

  2. CSS3有哪些新特性?

  3. 列举你所知道的行内元素有哪些?块级元素有哪些? CSS的盒模型?

  4. 介绍所知道的CSS hack技巧。

  5. 常见的兼容性问题有哪些?

  6. 常使用的JS类库有哪些? 是否进行过插件开发?

  7. 若使用过Jquery,如何添加,删除,替换节点?

  8. JS中的事件是指什么IE与火狐的事件机制有什么区别? 如何阻止冒泡?

  9. 是否做过后台接口调用处理等操作?对Json有多少了解?

  10. 介绍一下XMLHttpRequest什么?该对象的常用方法和属性有哪些?

  11. jquery 中如何将数组转化为json字符串,然后再转化回来?

  12. Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

  13. ajax是什么? ajax的交互模型(流程)? 同步和异步的区别?

  14. 如何解决跨域问题?

  15. 什么是闭包? 闭包主要涉及到js的哪些特性

  16. 你有哪些性能优化的方法?

参考答案如下:

  1. HTML5新增了哪些新特性和标签?

答:

a) 绘画 canvas标签

b) 用于媒介回放的 video 和 audio 元素

c) 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;

d) sessionStorage 的数据在浏览器关闭后自动删除

e) 语意化更好的内容元素,比如 article、footer、header、nav、section

f) 表单控件,calendar、date、time、email、url、search

  1. CSS3有哪些新特性?

答:

a) CSS3实现圆角(border-radius:8px)

b) 阴影(box-shadow:10px)

c) 对文字加特效(text-shadow、)

d) 线性渐变(gradient)

e) 旋转(transform)

transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);

//旋转,缩放,定位,倾斜

f) 增加了更多的CSS选择器,多背景rgba等。

  1. 列举你所知道的行内元素有哪些?块级元素有哪些? CSS的盒模型?
    答:

行内元素span,a,var ,em,input,img,img,textarea,var,em,strong,select等。
块级标签:div,p,h1-h3,ul,ol,dl,li,dd,dt,table,td,tr等。

CSS盒模型:页面上的块级元素被看做是一个矩形框,这个框由元素的内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。

  1. 介绍所知道的CSS hack技巧。

答:

IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important;
FF不能识别*,但能识别!important;

IE6支持下划线,IE7和firefox均不支持下划线。

  1. 常见的兼容性问题有哪些?

例如:

a) png24位的图片在iE6浏览器上出现背景:解决方案是做成PNG8.

b) 浏览器默认的margin和padding不同:解决方案是加一个全局的{margin:0;padding:0;}来统一。

c) IE6种浮动产生的双倍边距问题:解决方案是在float的标签样式控制中加入 _display:inline;将其转化为行内属性。(_这个符号只有ie6会识别)

  1. 常使用的JS类库有哪些? 是否进行过插件开发?
    答:最常用的库:Jquery ,YUI等。
  2. 若使用过Jquery,如何添加,删除,替换节点?

答:obj.appendChild  obj.removeChild   obj.replaceChild

  1. JS中的事件是指什么IE与火狐的事件机制有什么区别? 如何阻止冒泡?

a) 我们在网页中的某个操作(有的操作对应多个事件)。例如:当我们点击一个按钮就会产生一个事件。是可以被 JavaScript 侦测到的行为。

b) 事件处理机制:IE是事件冒泡、火狐是事件捕获;

c) ev.stopPropagation()适用于火狐等浏览器 ; cancelBubble()只支持IE浏览器。

  1. 是否做过后台接口调用处理等操作?对Json有多少了解?

答:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小。

  1. 介绍一下XMLHttpRequest什么?该对象的常用方法和属性有哪些?
    答:

a) XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。

b) open(“method”,”URL”) 建立对服务器的调用:

第一个参数是HTTP请求,方式可以为GET,POST或任何服务器所支持的您想调用的方式。
第二个参数是请求页面的URL。
    send()方法,发送具体请求
    abort()方法,停止当前请求
    readyState属性   请求的状态 有5个可取值0=未初始化 ,1=正在加载
    2=以加载,3=交互中,4=完成
    responseText 属性  服务器的响应,表示为一个串
    reponseXML 属性 服务器的响应,表示为XML
    status   服务器的HTTP状态码,200对应ok  400对应not found

  1. jquery 中如何将数组转化为json字符串,然后再转化回来?

答:

$.fn.stringifyArray = function(array) {

return JSON.stringify(array)

}

$.fn.parseArray = function(array) {

return JSON.parse(array)

}

  1. Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

答:hasOwnProperty

  1. ajax是什么? ajax的交互模型(流程)? 同步和异步的区别?

答:

a)ajax是异步的 JavaScript 和 XML。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

b)   1--启动  获取XMlHttpRequest对象
    2--open 打开url通道,并设置异步传输 
    3--send 发送数据到服务器
    4--服务器接受数据并处理,处理完成后返回结果 
    5--客户端接收服务器端返回

c)同步:脚本会停留并等待服务器发送回复然后再继续.

异步:脚本允许页面继续其进程并处理可能的回复.

  1. 如何解决跨域问题?

答:几个可行的方案:

1、Web代理的方式。即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果。此方案可以解决现阶段所能够想到的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session状态。

2、on-Demand方式。动态控制script标记的生成,通过修改script标记的src属性完成对跨域页面的调用。此方案存在的缺陷是,script的src属性完成该调用时采取的方式是get方式,如果请求时传递的字符串过大时,可能会无法正常运行。不过此方案非常适合聚合类门户使用。

3、iframe方式。数据提交跟获取,采用iframe这种方式的确可以了,但由于父窗口与子窗口之间不能交互(跨域访问的情况下,这种交互被拒绝),因此无法完成对父窗口效果的影响。

4、用户本地转储方式:IE本身依附于windows平台的特性为我们提供了一种基于iframe,利用内存来“绕行”的方案,即两个window之间可以在客户端通过windows剪贴板的方式进行数据传输,只需要在接受数据的一方设置Interval进行轮询,获得结果后清除Interval即可。FF的平台独立性决定了它不支持剪贴板这种方式,而以往版本的FF中存在的插件漏洞又被fixed了,所以FF无法通过内存来完成暗渡陈仓。而由于文件操作FF也没有提供支持(无法通过Cookie跨域完成数据传递),致使这种技巧性的方式只能在IE中使用。

5、结合了前面几种方式,在访问A网站时,先请求B网站完成数据处理,再根据返回的标识来获得所需的结果。这种方法的缺点也很明显,B网站的负载增大了。优点,对session也实现了保持,同时A网站与B网站页面间的交互能力增强了。最重要的一点,这种方案满足了我们的全部需要。

  1. 什么是闭包? 闭包主要涉及到js的哪些特性

答:

a) 能够读取其他函数内部变量的函数.(闭包定义大体理解对即可)

b) 作用域链,垃圾(内存)回收机制,函数嵌套等

  1. 你有哪些性能优化的方法?

答:1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。(2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数(3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。(4) 当需要设置的样式很多时设置className而不是直接操作style。(5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。(6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。(7) 图片预加载,将样式表放在顶部,将脚本放在底部,加上时间戳。(8) 避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢。

转载于:https://www.cnblogs.com/wujx9/p/7244989.html

自己总结的前端面试题相关推荐

  1. 「前端面试题系列7」Javascript 中的事件机制(从原生到框架)

    前言 这是前端面试题系列的第 7 篇,你可能错过了前面的篇章,可以在这里找到: 理解函数的柯里化 ES6 中箭头函数的用法 this 的原理以及用法 伪类与伪元素的区别及实战 如何实现一个圣杯布局? ...

  2. 前端面试题整理(定期更新)

    前言 因为面试的原因,最近又开始关注前端面试题,浏览过网上很多面试题集合,有很多小伙伴整理的很全面,但是我发现其中有很多技术点在当下已不再流行,而面试题一般都是映射开发中常遇到的一些技能和问题,再结合 ...

  3. JavaScript中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...

    作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 JavaScript JS的基本数据类型 number,string,boolean,objec ...

  4. noah的前端面试题(三)|掘金技术征文

    上一篇 前端面试题(二) 1.JavaScript对于cookie的读.写操作 写入 cookie function setCookie(cName, cValue, days) { var expi ...

  5. 应届生web前端面试题_2020最新Web前端经典面试题试题及答案(持续更新)

    Web前端面试题 Web前端面试题:说说你对webpack的看法 解析:webpack是一个模块打包工具,可以使用webpack管理你的模块依赖,并编译输出模块们所需要的静态文件.能很好的管理.打包w ...

  6. 前端面试题(html篇)

    前端面试题(html篇) 转载于:https://www.cnblogs.com/mc67/p/5311613.html

  7. java 前端页面传过来的值怎么防止篡改_答对这40道经典web前端面试题,想不拿到offer都难!...

    想成功就业web前端工程师,想要能高薪就业,那么除了好的web前端技能以外,还得有好的面试技巧,如果提前就了解更多企业的面试要求及面试题目,那么可以让我们的面试成功的几率大大的提高. 今天小编就整理了 ...

  8. 下面有关html5标签说法错误的有,前端面试题(2016含答案)

    标签定义命令按钮,比如单选按钮.复选框或按钮 8) 下述有关css属性position的属性值的描述,说法错误的是? a. b. c. d. static:没有定位,元素出现在正常的流中 fixed: ...

  9. 前端攻城狮学习笔记七:常见前端面试题之HTML/CSS部分(二)

    前端页面有哪三层构成,分别是什么?作用是什么? 1.结构层:由 HTML 或 XHTML 之类的标记语言负责创建,仅负责语义的表达.解决了页面"内容是什么"的问题. 2.表示层:由 ...

  10. 2017年秋招二十套前端面试题分享

    前端面试--四月二十家前端面试题分享 1.正文 第一套 第二套 第三套 第四套 第五套 第六套 第七套 第八套 第九套 第十套 第十一套 第十二套 第十三套 第十四套 第十五套 第十六套 第十七套 第 ...

最新文章

  1. luoguP4503 [CTSC2014]企鹅QQ hash
  2. LruDiskCache要点--不可不用的磁盘缓存工具类
  3. Nmcli 网络管理命令行工具基础
  4. js - prototype 继承
  5. Scrapy -- 05
  6. OpenCV为Halide后端安排网络
  7. Shell脚本中字符串的一些常用操作
  8. 字符串匹配 sunday算法
  9. Redhat enterprise linux下安装rlwrap工具
  10. JVM虚拟机-Class文件之魔数
  11. 【华为云技术分享】云图说 | 容器交付流水线ContainerOps,提升持续交付效率
  12. 面向对象and正则表达式
  13. 关于Linux SHELL 的编程的几个练习(课本182页5-10题)
  14. 纯新手DSP编程--5.16--目标和主机设置
  15. Spark Session 与 Spark Context的区别
  16. 44个基于SaaS的商业智能解决方案
  17. Tensorflow模型量化(Quantization)原理及其实现方法
  18. java 前端通过浏览器下载服务器上的文件
  19. CCNA中文版完整教程
  20. C语言怎么播放背景音乐

热门文章

  1. 获取浏览器书签、浏览器文件夹数据
  2. Xray使用的一些经验分享(xray+burp的使用)
  3. Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient报错,问题排查...
  4. .Net中json序列化与反序列化
  5. python连接redis sentinel集群
  6. windows系统 安装MongoDB
  7. [转] Oracle学习之创建数据库(新建实例)
  8. bzoj 3594: [Scoi2014]方伯伯的玉米田
  9. 关于内置浏览器的问题
  10. 安卓学习第10课——listview