前端面试题汇总(2020暑期实习面试经验)

暑期实习前端面试笔试总结汇总 腾讯2020暑期实习——前端视频面试(1)回顾 腾讯2020暑期实习——前端视频面试(2)回顾 腾讯2020暑期实习——前端视频面试(3)回顾 腾讯2020暑期实习——前端视频面试(4)回顾 蘑菇街2020暑期实习——前端视频面试回顾 二、笔试 奇安信前端实习笔试总结 vivo笔试(2020年3月8日) ... 阅读详情

经过一个月的投简历-笔试-面试的折磨,可以说经历了各种问题的考验,在面试的过程中,也吃了很多记不起来和不知道怎么回答的亏,大部分的问题都是考察基础,所以说打好基础十分重要,在这里把遇到的一些问题做一个汇总,以便增强记忆,也是为了更好地理解,希望在后面的面试中可以表现得更好,找到理想的工作,早日拿offer!!!

 

一、HTTP/HTML/浏览器

1、https协议的工作原理

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

客户使用https url访问服务器,则要求web 服务器建立ssl链接。

web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。

客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级。

客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。

web服务器通过自己的私钥解密出会话密钥。

web服务器通过会话密钥加密与客户端之间的通信。

2、WebSocket的实现和应用

参考回答:

(1)什么是WebSocket?

WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接。Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-alive,将多个http请求合并为1个

(2)WebSocket是什么样的协议,具体有什么优点?

HTTP的生命周期通过Request来界定,也就是Request一个Response,那么在Http1.0协议中,这次Http请求就结束了。在Http1.1中进行了改进,是的有一个connection:Keep-alive,也就是说,在一个Http连接中,可以发送多个Request,接收多个Response。但是必须记住,在Http中一个Request只能对应有一个Response,而且这个Response是被动的,不能主动发起。

WebSocket是基于Http协议的,或者说借用了Http协议来完成一部分握手,在握手阶段与Http是相同的。

3、HTTP请求的方式

参考回答:

head:类似于get请求,只不过返回的响应中没有具体的内容,用户获取报头

options:允许客户端查看服务器的性能,比如说服务器支持的请求方式等等。

GET和POST的区别:

get参数通过url传递,post放在request body中。

get请求在url中传递的参数是有长度限制的,而post没有。

get比post更不安全,因为参数直接暴露在url中,所以不能用来传递敏感信息。

get请求只能进行url编码,而post支持多种编码方式

get请求会浏览器主动cache,而post支持多种编码方式。

get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留。

GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

GET产生一个TCP数据包;POST产生两个TCP数据包。

4、Cookie、sessionStorage、localStorage的区别

参考回答:

共同点:都是保存在浏览器端,并且是同源的

Cookie:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下,存储的大小很小只有4K左右。 (key:可以在浏览器和服务器端来回传递,存储容量小,只有大约4K左右)

sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持,localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。(key:本身就是一个回话过程,关闭浏览器后消失,session为一个回话,当页面不同即使是同一页面打开两次,也被视为同一次回话)

localStorage:localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。

5、前端优化

参考回答:

降低请求量:合并资源,减少HTTP 请求数,minify / gzip 压缩,webP,lazyLoad。

加快请求速度:预解析DNS,减少域名数,并行加载,CDN 分发。

缓存:HTTP 协议缓存请求,离线缓存 manifest,离线数据缓存localStorage。

渲染:JS/CSS优化,加载顺序,服务端渲染,pipeline。

 6、说一下浏览器缓存

缓存分为两种:强缓存和协商缓存,根据响应的header内容来决定。

强缓存相关字段有expires,cache-control。如果cache-control与expires同时存在的话,cache-control的优先级高于expires。

协商缓存相关字段有Last-Modified/If-Modified-Since,Etag/If-None-Match

7、HTML5和CSS3的新属性

参考回答:

html5:

1)标签增删

8个语义元素 header section footer aside nav main article figure

内容元素mark高亮 progress进度

新的表单控件calander date time email url search

新的input类型 color date datetime datetime-local email

移除过时标签big font frame frameset

2)canvas绘图,支持内联SVG。支持MathML

3)多媒体audio video source embed track

4)本地离线存储,把需要离线存储在本地的文件列在一个manifest配置文件

5)web存储。localStorage、SessionStorage

css3:

CSS3边框如border-radius,box-shadow等;CSS3背景如background-size,background-origin等;CSS3 2D,3D转换如transform等;CSS3动画如animation等。

8、csrf和xss的网络攻击及防范

CSRF:跨站请求伪造,可以理解为攻击者盗用了用户的身份,以用户的名义发送了恶意请求,比如用户登录了一个网站后,立刻在另一个tab页面访问量攻击者用来制造攻击的网站,这个网站要求访问刚刚登陆的网站,并发送了一个恶意请求,这时候CSRF就产生了,比如这个制造攻击的网站使用一张图片,但是这种图片的链接却是可以修改数据库的,这时候攻击者就可以以用户的名义操作这个数据库,防御方式的话:使用验证码,检查https头部的refer,使用token

XSS:跨站脚本攻击,是说攻击者通过注入恶意的脚本,在用户浏览网页的时候进行攻击,比如获取cookie,或者其他用户身份信息,可以分为存储型和反射型,存储型是攻击者输入一些数据并且存储到了数据库中,其他浏览者看到的时候进行攻击,反射型的话不存储在数据库中,往往表现为将攻击代码放在url地址的请求参数中,防御的话为cookie设置httpOnly属性,对用户的输入进行检查,进行特殊字符过滤。

9、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    服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面

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协议的版本,无法完成处理

10、前端中的事件流

HTML中与javascript交互是通过事

字节跳动前端暑期实习一面总结        昨天字节跳动前端实习一面,整理一下面试题以供参考。面试官是一个很温柔的男生,标准的技术男。一开始牛客出了点问题,我们互相听不到声音,我换了台电脑就开始面试了。 自我介绍      &am 阅读详情

相关推荐

2024届前端暑期实习总结

介绍2024届暑期前端实习岗的求职历程

ox4f5da2的博客 753

前端实习面试题(自己当笔记用)

一、CSS 01.Flex布局 display:flex; 在父元素设置,子元素受弹性盒影响,默认排成一行,如果超出一行,按比例压缩 容器属性: 1.flex-direction属性 取值:row(默认)| row-reverse | column | column-reverse 用于控制项目排列方向与顺序,默认row,即横向排列,项目排列顺序为正序1-2-3;row-reverse同为横向排列,但项目顺序为倒序3-2-1。 column 与row相反,为纵向排列,项目顺序为正序1-2..

weixin_45182118的博客 8731

计算机前端面试题总结-暑期实习

面试一般都会有个自我介绍的流程,我看了一些网上的教程,总结下来基本就是:按照要应聘的岗位答。我前端、后端、测试都投过,不过大部分面试的都是前端,后端找我的很少,可能是因为我还没很了解线程、I/O、消息队列、高并发,在简历里就没写这些关键词,如果大家想做后端方面的工作,建议自学这些知识,很多后端岗位的技能要求都写了这些,在这里就主要分享我面试前端的大致自我介绍方式,供参考:面试官你好,我叫xxx,是xx学校xx专业的大三学生,来面试的岗位是xxx(简单介绍基本信息)

m0_65985318的博客 1197

前端面试题汇总大全(含答案)-- 持续更新

汇总了一些前端常见的面试题。 一、HTML 篇 1. 简述一下你对 HTML 语义化的理解? 用正确的标签做正确的事情。 html 语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;即使在没有样式 CSS 情况下也以一种文档格式显示,并且是容易阅读的; 搜索引擎的爬虫也依赖于 HTML 标记来确定上下文和各个关键字的权重,利于 SEO; 使阅读源代码的人对网站更容易将网站...

张兴华的博客 19万+

前端面试题汇总大全!

本文包含 jshtmlcssvue、react、webpack、微信小程序、等等技巧题!!!

范德萨的博客 1万+

2020前端经典面试题整理合集,思维导图+源代码+笔记+项目

计算机网络篇 HTTP HTTP 报文结构是怎样的? HTTP有哪些请求方法? GET 和 POST 有什么区别? 如何理解 URI? 如何理解 HTTP 状态码? 简要概括一下 HTTP 的特点和缺点? 对 Accept 系列字段了解多少? 对于定长和不定长的数据,HTTP 是怎么传输的? HTTP 如何处理大文件的传输? HTTP 中如何处理表单数据的提交? HTTP1.1 如何解决 HTTP 的队头阻塞问题? 对 Cookie 了解多少? 如何理解 HTTP 缓存及缓存代理? 为什么产生代理缓存?

qq_60099172的博客 571

字节跳动暑期实习前端面试

字节跳动暑期实习前端面试 现在轮到我这个23届开始真正地找实习了,但是今年的校招情况非常非常差,这个在今年的实习总结再详细说吧。这次投递字节也是非常的有意思,本来我是投递的字节抖音互动部门,然后刚投了互动晚上AI算法部门说我的简历在他们那,然后考虑一下,但是我确实不是很了解这块,所以我还是想去互动来着然后老哥给我释放了简历。第二天,HR加我微信,我以为是互动那边的,然后她说我的简历昨天被她捞了,在基础架构那边,好家伙梅开二度,这算是截胡吗,HR也是23届实习生,本着实习生不为难实习生的原则,我就参加了基础架

WindRunnerMax 2138

Java最新暑期结束了我的实习,可我的大学也过半了 暑期实习总结(2),腾讯,字节等大厂面试真题汇总

✨欢迎光临暑期结束了我的实习下个月,我大三了,考研?工作?该做选择了…Golang开发工程师?这个暑期我收获了什么?git、postman、Xshell、runapi编写接口文档等工具掌握了。一个企业开发代码结构层次逻辑自己也有了了解。见识了一个企业的项目开发的具体流程,讨论、开发、该需求之类的。懂得了一个企业是需要员工的哪些信息,如何进行考勤,如何计算薪酬等等。大小周也不是那么可怕。工作效率高是真的重要。有时真的想去厕所躲一下产品经理提的需求,可惜厕所没信号。。

2401_84103844的博客 964

2020快手前端暑期实习面经

快手前端面试 一面(凉凉) 面试的是一位很年轻的小哥,态度很和蔼,但是真的很难,面试的过程基本上属于我们聊到什么就问什么,问得都比较深入。 实习项目当中的后台信息管理系统用到了哪些技术栈?有了解过webpack的打包工具,了解过编译的过程么? 对VUE内部的数据的监听的了解,对于其底层的JS的了解,触发的过程运用了JS的什么特性 为什么选择学习前端?学习的路径 因为喜欢选择前端,那么前端方面有写过一些好玩的东西么?讲一下自己的项目2048,有遇到什么问题,还有没有优化空间呢?滑动怎么实现的(JS的anim

前端彭于晏的博客 6040

2020阿里前端暑期实习面试经历

这是我第一次参加前端面试,学长给的内推,自己平时有做过web,对于前端的知识,大多都是用的模板,在面试前也刷了几天的面试题,但没问到,阿里这种公司对于刚入职场的问的还是很基础的,然而回答的也很糟糕,希望记录经历,能早日找到一份好工作。 ##刚开始问了一些学习经历、项目经历和对未来工作的想法。 ##语义化标签的作用和意义,试着举几个例子。 没听过语义化标签的我回答的一塌糊涂,只说了和标签的作用,出...

qq_32035241的博客 1184

阿里巴巴前端暑期实习面经

前言 先说一下为什么要去面试,因为之前跟学长吃饭的时候聊起来,大三这时候找一个暑期实习是个好机会,并且我在学校拿的奖也都围绕着前端来的。作为一个想知道自己处于什么水平的人来说,肯定要投大厂了,于是选择了阿里巴巴的前端开发,在3月19日阿里大佬将简历内推至校园招聘系统。 一面(57分钟) 在完善简历的第二天,3月20日晚上20:20,便有阿里巴巴的座机号打来进行电话面试,没想到来的这么快,当时一点准...

weixin_33736649的博客 518

2020前端实习面试

之前投了一个比较小的公司的面试来练手 当然我没想到直接一次性面了2小时 下面就是大概的面试题(强行回忆) 1.你简历上有好几段实习经历,能说一下每一段是为什么离职吗? 大概就是暑假结束之类的(ps面试官说公司不喜欢很容易离职的,我这是暑期实习暑假结束了肯定得跑路了 2.有了解过CSS3吗 3.CSS3的什么特性比较熟悉 4.html5特性 语义化 SEO搜索 5.ES6的新特性 6.说一下JS的数据类型 7.说一下Number的实现 8.说一下对symbol的了解 9.Node.js BFF层的优势 1

qq_43681850的博客 1360

前端开发实习面试题(Web篇)

1.http有哪些请求方式? GET方法 发送一个请求来取得服务器上的某一资源 POST方法 向URL指定的资源提交数据或附加新的数据 PUT方法 跟POST方法很像,也是想服务器提交数据。但是,它们之间有不同。PUT指定了资源在服务器上的位置,而POST没有 HEAD方法 只请求页面的首部 DELETE方法 删除服务器上的某资源 OPTIONS方法 它用于获取当前URL所支持的方法。如果请求成功,会有一个Allow的头包含类似“GET,POST”这样的信息

庸人方自扰,自在就好 7803

前端开发实习面试题(其它问题篇)

1.自我介绍 2.你还有什么问题要问的吗? 3.你有什么爱好? 4.你最大的优点和缺点是什么? 5.你为什么会选择这个行业,职位? 6.你觉得你适合从事这个岗位吗? 7.你有什么职业规划? 8.你对工资有什么要求? 9.如何看待前端开发? 10.未来三到五年的规划是怎样的? 11.你的项目中技术难点是什么?遇到了什么问题?你是怎么解决的? 12.你认为哪个项目做得最好? 13.说下项目中你做过的一些性能优化处理 14.最近在看哪些前端方面的书? 15.平时是如何学习前端开发的?

庸人方自扰,自在就好 3458

前端经典面试题60道,附答案!

参考答案Bom是浏览器对象location对象location.href-- 返回或设置当前文档的URLlocation.search – 返回URL中的查询字符串部分。例如 http://www.dreamdu.com/dreamd… 返回包括(?)后面的内容?location.hash – 返回URL#后面的内容,如果没有#,返回空 location.host – 返回URL中的域名部分,例如www.dreamdu.com。

2301_78850344的博客 1398

前端面试题HTMLJSVue、React、小程序)

前端面试题HTML && CSSHTML1、Div 里面有个一个div *****2、doctype的作用 *3、link标签和import标签的区别 **HTML51、h5的新特性 ***CSS & CSS31、盒子模型 ****2、弹性布局、浮动布局、table布局 *****3、flex的属性 ****4、CSS3的新特性 *** (动画效果)5、CSS3选择器优先级及计算 ***6、清除浮动 ***7、position的相关属性 **JS原生*****

weixin_43750611的博客 1万+

前端经典面试题 30道,前端开发面试题及答案

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。需要完整面试题的朋友可以点击蓝色字体免费获取助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**[外链图片转存中…(img-cZ04ZBdm-1712315299214)][外链图片转存中…(img-xuLAcCQR-1712315299215)]既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

2401_84092903的博客 1363

初级前端实习面试题(自拟)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!

2401_84091289的博客 533
上一篇: 不会设计的前端工程师不是一个好的程序员*_*
下一篇: JavaScript基础学习(一)
小卖部出来的Coder
博客等级 码龄9年 29粉丝 29原创
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值