前端校招面试题目合集练习-10

题目来自于牛客网题库-前端校招面试题目合集。
该题库共501题
学习目标:题库501道题目学习一遍。

学习目标:

  • 学习进度:100/501

学习内容:

  1. Cookie和Session的区别?
    两者都是用来存储用户信息,cookie存放在客户端,session存放在服务器端,session比cookie更安全。cookie只能存储ASCII码字符串,session可以存储任何类型的数据。
    cookie大小为4K左右,session可以保存5M左右。
    cookie可设置失效时间,默认浏览器关闭后失效。
    sessionstorage:仅在当前网页会话下有效,关闭网页或浏览器则失效。
    cookie:每次都携带在http头中,可能带来性能问题。
    session:在浏览器保存,不参与通信。

  2. 一句话概括RESTFUL.
    RESTFUL是一种互联网软件架构,用URL定位资源,HTTP描述操作。

  3. 讲讲viewport和移动端布局。
    广义的视口,是指浏览器显示内容的屏幕区域。狭义的视口包括了布局视口、视觉视口和理想视口。
    (1) 布局视口(layout viewport)
    布局视口定义了pc网页在移动端的默认布局行为,因为通常pc的分辨率较大,布局视口默认为980px。
    (2) 视觉视口(visual viewport)
    视觉视口表示浏览器内看到的网站的显示区域。
    (3) 理想视口(ideal viewport)
    理想视口或者应该全称为“理想的布局视口”,在移动设备中就是指设备的分辨率

  4. click在IOS上有300ms延迟原因是什么?如何解决?
    原因:ios有双击缩放功能.点击一次屏幕浏览器无法判断用户是想双击还是单击操作,所以要等待300ms是否有二次点击。
    解决办法:禁止缩放,利用fastclick。

  5. addEventListener参数有哪些?
    event:指定事件名
    function :指定事件触发时执行参数
    isCapture:指定事件是否在捕获或冒泡阶段使用

  6. 谈谈iframe通信,同源情况
    frame通信,同源和不同源两种情况
    同域:即父子页面相互调用
    一、父页面调用子页面
    1、先得到子页面的document
    document.getElementById(‘FrameId’).contentWindow.document
    2、得到子页面的window
    document.getElementById(‘FrameId’).contentWindow.window
    重载子页面:document.getElementById(‘FrameId’).contentWindow.window.location.reload(true);
    或者 $(’#FrameId’).attr(‘src’,’…/list’);
    3、得到子页面的的变量
    doucment. iframe的name属性值 . 子页面变量名称 (document.frameName.temp)
    二、子页面调用父页面
    1、父页面document : window.parent.document
    2、获得父页面变量 : parent.变量名称
    3、调用事件 : window.parent.XXX();
    跨域:
    主域:由两个或两个以上的字母构成,中间由点号隔开,整个域名只有1个点号
    csdn.net
    子域:是在主域名之下的域名,域名内容会有多个点号
    未跨主域,跨子域
    两个域的js文件中设置document.domain=主域名 即可
    跨主域
    location.hash(B操作A)
    1、动态改变location.hash,iframe不会重载
    2、无论跨域与否,iframe内可以获取自己的location.hash
    3、只要域名相同就能通信,即使ABC三层嵌套

  7. 谈谈http状态码。
    100 Continue 继续。客户端应继续其请求
    101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
    200 OK 请求成功。一般用于GET与POST请求
    201 Created 已创建。成功请求并创建了新的资源
    202 Accepted 已接受。已经接受请求,但未处理完成
    203 Non-Authoritative Information 非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
    204 No Content 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
    205 Reset Content 重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
    206 Partial Content 部分内容。服务器成功处理了部分GET请求
    300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
    301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
    302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
    303 See Other 查看其它地址。与301类似。使用GET和POST请求查看
    304 Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
    305 Use Proxy 使用代理。所请求的资源必须通过代理访问
    306 Unused 已经被废弃的HTTP状态码
    307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向
    400 Bad Request 客户端请求的语法错误,服务器无法理解
    401 Unauthorized 请求要求用户的身份认证
    402 Payment Required 保留,将来使用
    403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求
    404 Not Found 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
    405 Method Not Allowed 客户端请求中的方法被禁止
    406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求
    407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
    408 Request Time-out 服务器等待客户端发送的请求时间过长,超时
    409 Conflict 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突
    410 Gone 客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
    411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息
    412 Precondition Failed 客户端请求信息的先决条件错误
    413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
    414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理
    415 Unsupported Media Type 服务器无法处理请求附带的媒体格式
    416 Requested range not satisfiable 客户端请求的范围无效
    417 Expectation Failed 服务器无法满足Expect的请求头信息
    500 Internal Server Error 服务器内部错误,无法完成请求
    501 Not Implemented 服务器不支持请求的功能,无法完成请求
    502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
    503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
    504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求
    505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理

  8. 谈谈http的请求头。

    协议头
    说明

    Accept
    可接受的响应内容类型(Content-Types)。

    Accept-Charset
    可接受的字符集

    Accept-Encoding
    可接受的响应内容的编码方式。

    Accept-Language
    可接受的响应内容语言列表。

    Accept-Datetime
    可接受的按照时间来表示的响应内容版本

    Authorization
    用于表示HTTP协议中需要认证资源的认证信息

    Cache-Control
    用来指定当前的请求/回复中的,是否使用缓存机制。

    Connection
    客户端(浏览器)想要优先使用的连接类型

    Cookie
    由之前服务器通过Set-Cookie(见下文)设置的一个HTTP协议Cookie

    Content-Length
    以8进制表示的请求体的长度

    Content-MD5
    请求体的内容的二进制 MD5 散列值(数字签名),以 Base64 编码的结果

    Content-Type
    请求体的MIME类型 (用于POST和PUT请求中)

    Date
    发送该消息的日期和时间(以RFC 7231中定义的"HTTP日期"格式来发送)

    Expect
    表示客户端要求服务器做出特定的行为

    From
    发起此请求的用户的邮件地址

    Host
    表示服务器的域名以及服务器所监听的端口号。如果所请求的端口是对应的服务的标准端口(80),则端口号可以省略。

    If-Match
    仅当客户端提供的实体与服务器上对应的实体相匹配时,才进行对应的操作。主要用于像 PUT 这样的方法中,仅当从用户上次更新某个资源后,该资源未被修改的情况下,才更新该资源。

    If-Modified-Since
    允许在对应的资源未被修改的情况下返回304未修改

    If-None-Match
    允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified ),参考 超文本传输协议 的实体标记

    If-Range
    如果该实体未被修改过,则向返回所缺少的那一个或多个部分。否则,返回整个新的实体

    If-Unmodified-Since
    仅当该实体自某个特定时间以来未被修改的情况下,才发送回应。

    Max-Forwards
    限制该消息可被代理及网关转发的次数。

    Origin
    发起一个针对跨域资源共享的请求(该请求要求服务器在响应中加入一个Access-Control-Allow-Origin的消息头,表示访问控制所允许的来源)。

    Pragma
    与具体的实现相关,这些字段可能在请求/回应链中的任何时候产生。

    Proxy-Authorization
    用于向代理进行认证的认证信息。

    Range
    表示请求某个实体的一部分,字节偏移以0开始。

    Referer
    表示浏览器所访问的前一个页面,可以认为是之前访问页面的链接将浏览器带到了当前页面。Referer其实是Referrer这个单词,但RFC制作标准时给拼错了,后来也就将错就错使用Referer了。

    TE
    浏览器预期接受的传输时的编码方式:可使用回应协议头Transfer-Encoding中的值(还可以使用"trailers"表示数据传输时的分块方式)用来表示浏览器希望在最后一个大小为0的块之后还接收到一些额外的字段。

    User-Agent
    浏览器的身份标识字符串

    Upgrade
    要求服务器升级到一个高版本协议。

    Via
    告诉服务器,这个请求是由哪些代理发出的。

    Warning
    一个一般性的警告,表示在实体内容体中可能存在错误。

9、10重复,已省略


学习时间:

2021/1/17 19:10-40
花费时间:30min


寄语:

又是努力学习的一天,加油!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值