DAY9刷面试题

看了看小组项目,看了看毕业设计,我都无从下手,然后…我去买了点夜宵哈哈哈哈。

WEB标准以及W3C标准是什么?

1、标签闭合
2、标签小写
3、嵌套正确
4、外部链接css和js
5、提倡HTML结构、CSS表现和JS行为相分离

HTML和XHTML有什么区别

XHTML元素必须正确的嵌套
XHTML元素必须被关闭
标签名必须用小写字母
XHTML文档必须拥有根元素

Doctype作用?严格模式与混杂模式如何区分?有什么意义?

1、 <!DOCTYPE> 声明位于文档中的最前面,处于<html>标签之前。告知浏览器以何种模式来渲染文档。
2、严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。
3.、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
4.、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

canvas和svg区别

  • canvas:可伸缩矢量图形、放大缩小不会失真
  • svg:HTML5新加的元素、使用XML描述2D图形的语言

margin重合问题,如何解决

重合问题:相邻的两个盒子垂直向上的margin会发生重叠,只会取比较大的那个margin

解决:
(1)设置padding代替margin
(2)设置float
(3)设置overflow
(4)设置position:absolute绝对定位
(5)设置display:inline-block

原型链和作用域链的区别

作用域链是对变量而言,原型链是对于对象的属性而言
作用域链的顶层是window,原型链的顶层是Object

document.write和innerHTML 的区别

document.write:将内容写入页面,清空替换掉原来的内容,会导致重绘
document.innerHTML :将内容写入某个DOM节点,不会重绘

栈和堆的区别

1、堆:动态分配内存,内存大小不一,也不会自动释放
2、栈:自动分配相对固定大小的内存,并由系统自动释放
3、基本类型都是存储在栈中,每种类型的数据占用的空间大小都是确定的,并且由系统自动分配和释放,内存可以及时回收。
4、引用类型的数据都是存储在堆中。准确来说:栈中存储这些数据的地址指针,并指向堆中的具体数据。

null和undefined区别

null:什么都没有,表示一个空对象引用(主动释放一个变量引用的兑现那个,表示一个变量不再指向任何引用地址)
undefined:没有设置值的变量,会自动赋值undefined
区别:
typeof undefined // undefined
typeof null // object
null === undefined //false
null == undefined //true

垃圾回收机制都有哪些策略

  • 标记清除法
    垃圾回收机制获取根并标记他们,然后访问并标记所有来自它们的引用,然后在访问这些对象并标记它们的引用…如此递进结束后若发现有没有标记的(不可达的)进行删除,进入执行环境的不能进行删除
  • 引用计数法
    当声明一个变量并给该变量赋值一个引用类型的值时候,该值的计数+1,当该值赋值给另一个变量的时候,该计数+1,当该值被其他值取代的时候,该计数-1,当计数变为0的时候,说明无法访问该值了,垃圾回收机制清除该对象
    缺点: 当两个对象循环引用的时候,引用计数无计可施。如果循环引用多次执行的话,会造成崩溃等问题。所以后来被标记清除法取代。

内存管理

内存分配=》内存使用=》内存回收

解释一下JSONP 的工作原理,以及它为什么不是真正的AJAX

JSONP是一种非正式传输协议,允许用户传递一个callback给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。
当GET请求从后台页面返回时,可以返回一段JS代码,这段代码会自动执行,可以用来负责调用后台页面中的一个callback函数。

JSONP和AJAX的实质不同。
ajax的核心是通过xmlHTTPRequest获取非本页的内容。
jsonp的核心是动态添加script标签用服务器提供的js脚本。
jsonp只接受get请求,ajax接受get和post请求。

XML和JSON区别

1、xml是重量级的 json是轻量级的
2、xml在传输过程中比较占宽带,json占宽带少,易于压缩
3、xml和json都用在项目交互下,xml多用于配置文件,json用于数据交互

上一篇:两数之和(力扣刷题day9)


下一篇:转】SparkSQL中的内置函数