最新前端面试题整理

前端技术

  1. 常见浏览器的内核分别是什么?
    IE浏览器:Trident 内核
    Firefox浏览器:Gecko内核
    Safari浏览器:Webkit内核
    Opera浏览器:最初是Presto内核,后来是Webkit,现在是Blink内核
    Chrome浏览器:Blink(以前是Webkit内核,现在是Blink内核)
  2. WEB标准以及W3C标准是什么?
    1、标签闭合 2、标签小写 3、嵌套正确 4、外部链接css和js 5、提倡结构、表现和行为相分离(HTML结构、CSS表现、JavaScript行为)
  3. 每个 HTML 文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?
声明位于文档中的最前面的位置,处于 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。(重点:告诉浏览器按照何种规范解析页面)
  1. 什么是语义化标签?为什么要使用语义化标签?
    语义化标签是指用来描述页面内容的 HTML 标签。使用语义化标签可以提高网页的可读性、可访问性和优化搜索引擎排名。
    例如,将一个标题用

    标签表示,而不是用
    标签来设置样式。这样做既更符合页面内容的语义,也更利于搜索引擎抓取关键字。

  2. HTML 元素的 class 和 id 有什么区别?
    class 和 id 属性都可以用来为 HTML 元素指定样式,但二者有所区别。一个元素可以有多个 class ,但只能有一个 id,而 id 必须是唯一的,不能重复。
  3. img 的 alt 与 title 有何异同?
    alt(alt text):为不能显示图像、窗体或 applets 的用户代理(UA),alt 属性用来指定替换文字。替换文字的语言由 lang 属性指定。(在 IE 浏览器下会在没有 title 时把 alt 当成 tool tip 显示)
    title(tool tip):该属性为设置该属性的元素提供建议性的信息。
  4. 简述一下 src 与 href 的区别?
    src 用于替换当前元素,href 用于在当前文档和引用资源之间确立联系。
    src 是 source 的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求 src 资源时会将其指向的资源下载并应用到文档内,例如 js 脚本,img 图片和 frame 等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将 js脚本放在底部而不是头部。
    href 是 Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加那么浏览器会识别该文档为 css 文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用 link 方式来加载 css,而不是使用@import 方式。
  5. get和post的请求的区别?
    get在浏览器回退不会再次请求,post会再次提交请求
    get请求会被浏览器主动缓存,post不会,要手动设置
    get请求参数会被完整保留在浏览器历史记录里,post中的参数不会
    get请求在URL中传送的参数是有长度限制,而post没有限制
    get参数通过URL传递,post放在Request body中
    get参数暴露在地址栏不安全,post放在报文内部更安全
    get一般用于查询信息,post一般用于提交某种信息进行某些修改操作
    get产生一个TCP数据包;post产生两个TCP数据包 get和post的选择: 1.私密性的信息请求使用post(如注册、登陆)。 2.查询信息使用get
  6. DIV+CSS布局较table布局有哪些优点?
    改版的时候更方便只要改 css 文件。 页面加载速度更快、结构化清晰、页面显示简洁。 表现与结构相分离。 易于优化(seo)搜索引擎更友好,排名更容易靠前。
  7. 网页制作会用到的图片格式有哪些?
    png-8、png-24、jpeg、gif、svg、Webp。
    WebP 格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有 JPEG 的 2/3,并能节省大量的服务器带宽资源和数据空间。FacebookEbay 等知名网站已经开始测试并使用 WebP 格式。在质量相同的情况下,WebP 格式图像的体积要比 JPEG 。
  8. 一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。
    图片懒加载,在页面上的未可视区域可以添加一个滚动条事件,判断图片位置与浏览器顶端 的距离与页面的距离,如果前者小于后者,优先加载。
    如果为幻灯片、相册等,可以使用图片预加载技术,将当前展示图片的前一张和后一张优先 下载。
    如果图片为 css 图片,可以使用 CSSsprite,SVGsprite,Iconfont、Base64 等技术。
    如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩的特别厉害的缩略图, 以提高用户体验。
    如果图片展示区域小于图片的真实大小,则因在服务器端根据业务需要先行进行图片压缩, 图片压缩后大小与展示一致。
  9. 有哪些方式可以对一个 DOM 设置它的 CSS 样式?
    外部样式表,引入一个外部 css 文件。
    内部样式表,将 css 代码放在 标签内部。
    内联样式(行内样式),将 css 样式直接定义在 HTML 元素内部。
  10. CSS 都有哪些选择器?
    基本选择器:
    标签选择器
    类选择器
    ID选择器
    通配符选择器
    属性选择器(用 DOM 的属性申明,属于 CSS2,IE6 不支持,不常用,不知道就算了)
    复杂选择器:
    后代选择器(利用空格间隔,比如 div .a{ })
    群组选择器(利用逗号间隔,比如 p,div,#a{ })
    伪类选择器 (如:a:hover{})
    伪元素选择器
    注意:伪元素和伪类容易混淆, css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
  11. CSS 选择器的优先级是怎么样定义的?
    基本原则: 一般而言,选择器越特殊(复杂),它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。 复杂的计算方法:
    div.test1 .span var 优先级 1+10 +10 +1 ID选择器的权重为100
    类或伪类选择器的权重为10
    元素或伪元素选择器的权重为1
    通用选择器的权重为0
    span#xxx .songs li 优先级 1+100 + 10 + 1
    使用一个选择器一次,它就会加上相应的权重值,最后比较的就是这些选择器的总权重值。
  12. 看下列代码,

    标签内的文字是什么颜色的?

<style>
.classA{ color:blue;}
.classB{ color:red;}
style>
<body>
 <p class='classB classA'> 123 p>
body>

red。与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在

中的先后关系无关。
16. CSS 中可以通过哪些属性定义,使得一个 DOM 元素不显示在浏览器可视范围内?
最基本的:设置 display 属性为 none,或者设置 visibility 属性为 hidden 技巧性:设置宽高为 0,设置透明度为 0,设置 z-index 位置在-1000
17. 超链接访问过后 hover 样式就不出现的问题是什么?如何解决?
被点击访问过的超链接样式不在具有 hover 和 active 了,解决方法是改变 CSS 属性的 排列顺序: L-V-H-A(link,visited,hover,active)。
18. 行内元素和块级元素的具体区别是什么?行内元素的 padding 和 margin 可设置吗?
块级元素(block)特性: 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示; 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;
行内元素(inline)特性: 和相邻的内联元素在同一行; 宽度(width)、高度(height)、内边距的top/bottom (padding-top/padding-bottom)和外边 距的 top/bottom (margin-top/margin-bottom) 都不可改变(也就是 padding 和 margin 的 left 和 right 是可以设置的),就是里面文字或图片的大小。
19. 浏览器还有默认的天生 inline-block 元素(拥有内在尺寸,可设置高宽,但不会自动换行),有哪些?

你可能感兴趣的:(前端面试题整理,前端,css,es6,jquery,vue.js)