![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔面试
文章平均质量分 74
一只自由的程序媛
凡心所向,素履所往
展开
-
今天的一道面试题(21) -说一下HTTP各版本以及HTTPS之间区别
文章目录HTTP概述GET和POST的区别HTTP1.0HTTP1.1HTTP2HTTP1.1问题引入HTTP2HTTP2其他特性HTTP2的缺陷HTTPS对称加密和非对称加密结合添加证书HTTP概述HTTP(超文本传输协议)是一个基于TCP的应用层协议GET和POST的区别GET提交的数据放在URL中, 不适用一些私密数据的传输, POST提交的数据在header中,但是也无法保证安全性, 没有加密过GET提交的数据大小有限制(是因为浏览器对URL的长度有限制,GET本身没有限制),POST没原创 2021-11-17 20:21:26 · 1058 阅读 · 0 评论 -
今天的一道面试题(19) - V8垃圾回收机制
参考 - 浏览器工作原理与实践文章目录V8的内存管理机制栈中的内存是如何回收的堆中的内存是如何回收副垃圾回收器 - 新生代主垃圾回收器 - 老生代全停顿如何避免内存泄漏V8的内存管理机制栈中的内存是如何回收的function foo(){ var a = 1 var b = {name:" 极客邦 "} function showName(){ var c = " 极客时间 " var d = {name:" 极客时间 "} } sho原创 2021-11-08 23:23:33 · 821 阅读 · 0 评论 -
今天的一道面试题(18) - 说一下浏览器缓存
浏览器缓存主要分为强缓存和协商缓存, 我们主要记住浏览器缓存的这个工作流程以及几个主要字段参考链接 掘金- 彻底理解浏览器的缓存机制文章目录强制缓存Expires(HTTP/1.0)Cache-Control(HTTP/1.1优先级更高)协商缓存Last-Modified / If-Modified-SinceEtag / If-None-Match(优先级更高)总结强制缓存强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程,强制缓存的情况主要有三种(暂不分原创 2021-11-07 20:11:30 · 245 阅读 · 0 评论 -
每天一道面试题(16) - useReducer&useContext实现状态管理
如果在上一篇文章里那个问题: 说一下常用的hooks 里能够回答出 useReducer&useContext实现状态管理 , 应该会加分吧. (猜测的, 没经过试验哈哈)useReducer还是上一篇中的例子function TestReducer() { const reducer = (state, action) => { switch (action) { case 'add': return st原创 2021-10-28 20:39:15 · 332 阅读 · 0 评论 -
每天一道面试题(15) - 常用的hooks有哪些, 具体说一下
说一下常用的hooks?这道题是一道开放题, 只能说出来名字只是最初级的答案.能具体说出每个hook的使用场景并结合有关联的hook进行对比回答才算是一个合格的答案文章目录useStateuseState的异步问题useState为什么返回是一个数组而不是对象useEffectuseEffect用法useEffect && useLayoutEffect的区别useReducer用useReducer实现一个useStateuseReducer+useContext实现状态管理us原创 2021-10-27 19:21:05 · 1418 阅读 · 0 评论 -
每天一道面试题(14) - webpack热更新使用及其原理
文章目录为什么需要热更新使用热更新以及遇到的问题构建过程热更新原理为什么需要热更新在文件更新时, 希望能保持页面当前的状态值, 而不是直接刷新页面, 可以大大节省宝贵的开发调试时间使用热更新以及遇到的问题使用热更新第一种方案, 使用module.hot.accept()if (module.hot) { module.hot.accept()}axios响应拦截器中返回的响应参数是上次拦截器返回的数据原因是什么呢?因为module.hot.accept()意思是重新执行一遍当前原创 2021-10-15 19:56:55 · 535 阅读 · 0 评论 -
每天一道面试题(13) - webpack, babel, loader等原理解析
偷懒了这么些天, 终于又开始更新啦~~文章目录前端代码为什么要进行构建和打包?webpack的打包原理loader和plugin的区别?编写loader和pluginBabel是什么, 与webpack的区别Babel的工作原理babel-runtime和babel-polyfill作用及区别前端代码为什么要进行构建和打包?体积更小(压缩, 合并), 加载更快编译高级语言和语法(TS,ES6,模块化,scss)兼容性和错误检查(plyfill, postcss, eslint)统一, 高效的开原创 2021-10-13 19:26:47 · 780 阅读 · 0 评论 -
每天一道面试题(12) - resolve(reject(1))走then还是catch
之前面试时遇到这个问题, 当时脑子不太好使没想到这道题的考察点是什么.后来复盘了一下才反应过来这道题考的是函数调用栈啊!文章目录什么是函数调用栈resolve(reject(1))走then还是catch函数调用栈的其他问题场景什么是函数调用栈定义参考链接程序在运行期间,内存中有一块区域,用来实现程序的函数调用机制。这块区域是一块LIFO的数据结构区域,我们可以叫函数栈(调用栈)。每个未退出的函数都会在函数栈中拥有一块数据区,我们叫函数的栈帧。函数的调用栈帧中,保存了相应的函数的一些重要信息:函原创 2021-09-28 20:12:17 · 270 阅读 · 0 评论 -
每天一道面试题(11)- dom是如何渲染的
文章目录DOM树渲染的主要工作原理具体工作流程总结其他特殊情况有js标签怎么办引入外部js的情况css对渲染的影响总结在输入url到界面渲染完成发生了什么 这道题中有一个流程是 浏览器根据请求到的html渲染一棵DOM树那么请问, 这个DOM树是怎么渲染的?在渲染引擎内部,有一个叫HTML 解析器(HTMLParser)的模块,它的职责就是负责将 HTML 字节流转换为 DOM 结构HTML 解析器并不是等整个文档加载完成之后再解析的,而是网络进程加载了多少数据,HTML 解析器便解析多少数据原创 2021-09-28 18:01:58 · 241 阅读 · 0 评论 -
每天一道面试题(10) - 浏览器输入url发生了什么 - 思维导图
这道题很多地方都有答案, 今天整理了一张思维导图, 便于时常复盘不允许转载!原创 2021-09-27 17:42:02 · 102 阅读 · 0 评论 -
每天一道面试题(9) - react hooks的优点
在社招中, 如果项目经验中有react hooks, 面试官就经常会问到这个问题.今天就来系统的总结一下回答这个问题的要点, react hooks的主要优点有以下几点更容易复用代码(最重要)副作用统一处理, 不需要维护各个生命周期代码可读性更强, 代码风格更简洁清爽更容易复用代码如果类组件要复用代码, 经常需要高阶组件.但是高阶组件HOC有两个问题HOC需要在原组件上进行包裹或者嵌套,如果大量使用 HOC,将会产生非常多的嵌套,这让调试变得非常困难。HOC可以劫持 props,在不原创 2021-09-22 19:19:35 · 1360 阅读 · 0 评论 -
每天一道面试题(8) - 浏览器和node中的事件循环机制
说一下浏览器和node中的事件循环机制这道题大部同学都能答上来宏任务和微任务, 不知道浏览器事件循环请移至 10 分钟理解 JS 引擎的执行机制但是对于node中的事件循环, 很多人都没有系统的学习过, 本篇文章主要梳理一下在回答这个问题时的要点本文将从以下两个方面进行梳理, 大家在面试的时候也可以按照这个思路进行回答浏览器的事件循环node中的事件循环机制node中事件循环机制的注意事项浏览器的事件循环由于JS是单线程的, 如果自上而下执行, 一段代码运行时间过长, 下面的代码就会.原创 2021-09-18 21:54:13 · 270 阅读 · 1 评论 -
每天一道面试题(7) - JS中的模块化
面试官问: 解释一下JS中的模块化刚开始接触前端时, 看见那几个名词就觉得太高大上了, 都不知道是什么, 慢慢的我发现, 其实大多数时候那些专有名词都是给很简单的概念一个好听的名字罢了, 比如:react中的高阶组件(不就是组件作为参数进行一定的装饰再返回一个组件嘛)比如模块化, 就是JS中将不同功能的代码封装在不同的文件中, 再互相引用时不会发生命名冲突的一种思想, 大多数情况下, 一个文件就是一个模块模块化这一思想的不同实现, 有多种方案, 主要有以下几种CommonJSES6模块化原创 2021-09-16 19:54:32 · 571 阅读 · 0 评论 -
每天一道面试题(6) - 总结ES6, ES7,ES8的新特性
本文只做总结, 不做详细解释ES6新特性ES6新特性比较多, 可以将这个特性分为功能和语法糖两个类别.在回答问题时也会比较有条理定义变量let, constES6中可以使用let定义变量, const定义常量, 二者是块级作用域这里说一下let和var的区别var在全局声明的变量可以通过window获取到, 成为了window的属性let的作用域只在代码块内,块外无效;var全局有效{ let a = 10; var b = 1;}a // ReferenceError:原创 2021-09-15 21:07:36 · 845 阅读 · 0 评论 -
每天一道面试题(5) - 详细讨论一下js的原型问题
对于js的原型, 前端er应该多多少少能说上一点. 但是可能大部分人应该都没有深入研究过, 上周专门研究了一下这个问题, 今天在这里做个记录今天只深入研究, 默认对于基本的原型知识已经掌握, 没有掌握的请自行补习~js的原型是什么prototype和__proto__的区别和联系constructor看懂这张图instanceof的特例情况分析js的原型是什么每个构造函数都有一个原型对象prototype,原型对象上包含着一个指向构造函数的指针constructor(原型对象没有被重写的原创 2021-09-13 22:34:57 · 137 阅读 · 0 评论 -
每天一道面试题(4) - 说一下js中的this
这道题在前端面试中出现的概率应该可以排在前几位了, 就算是入门前端都能回答上来一二, 但是回答的是否有逻辑有条理有深度呢?本文从以下几个问题进行讲述说一下js中的this说一下new做了什么事说一下apply,call方法做了什么事说一下箭头函数和普通函数的区别js中的this面试中遇到这个问题时, 最好不要想一点说一点, 要做出自己的总结js中的this主要是指在函数中this的指向问题如果函数是作为构造函数,使用new方法生成的对象, 那么这个构造函数中的this被绑定到了实例对原创 2021-09-12 20:31:38 · 156 阅读 · 0 评论 -
每天一道面试题(3) - 你知道JS的事件机制吗
要注意, JS的事件机制和JS的事件运行机制是两个不同的问题这个问题可以派生出如下几个问题你了解JS的事件机制吗?怎么阻止事件传播event.target 和event.currentTarget什么是事件委托?react中的事件委托你了解JS的事件机制吗?一个事件触发时, DOM2级事件规定分为捕获阶段 - 目标阶段 - 冒泡阶段三个阶段我们可以使用DOM0级的规范onclick等事件直接驱动事件, 也可以通过DOM2级规范中的addEventListener方法触发事件, 它可以原创 2021-09-10 22:59:42 · 176 阅读 · 0 评论 -
每天一道面试题(2) - 你真的了解JS的数据类型吗?
你了解JS的数据类型吗? 这应该是js中最基础的一个问题了, 可是就从这最基础的一个问题, 你能挖掘多深呢?本文将从以下几个方面进行梳理js的数据类型有哪些基本数据类型和引用数据类型的区别是什么判断数据类型的方法堆和栈的区别js的基本数据类型有哪些1.js基本数据类型有六种undefinedBooleanNumberStringBigInt(可以用任意精度表示整数, 安全的存储和操作大整数)Symbol2.null是一种特殊的数据类型, 在被typeof判断的时候会被判断原创 2021-09-09 23:19:59 · 90 阅读 · 4 评论 -
每天一道面试题(1) - javascript中的类数组和鸭式辩形
今天决定每天写一道面试题(偶尔懒了也可以不写, 不强迫自己), 对前端常见的面试题进行一些话术的总结和知识点整合吧正好今天听同事校招面试问到一个类数组, 那么就由此开始吧本文将从以下几个方面进行讲述什么是类数组, 和数组有什么区别为什么需要类数组 以及 常见的类数组有哪些类数组的遍历类数组转为数组什么是类数组类数组, 顾名思义, 不是数组, 长的像数组;其实类数组本质是一个对象, 只不过是具有如下两个特性的对象拥有length属性 和数字索引不具有普通数组的操作方法具有le原创 2021-09-08 21:00:56 · 162 阅读 · 0 评论 -
java和JS写算法题遇见的坑
全都是坑啊,越踩越实;;;加油!!!1、java中判断两个字符(不区分大小写的)是否一致,使用char + 32 || char - 32 就可以判断,java转换成小写会报错Js中不可以,只能用这样都转换成小写来判断;2、JS读取输入的时候要这样把第一行的读入进行循环,其他所有代码包裹在里面,为了保证可以循环读取所有的测试用例 ...原创 2018-10-09 11:03:19 · 358 阅读 · 0 评论 -
前端常见面试题html/css,js,ES6,Vue,前端工程化等等
最近找工作阶段,总结了不少前人的面经,总想整理的特别特别好再发出来,但是发现如果一直等等等的话,就不知道等到猴年马月了,先发一些吧,持续更新!!!答案自己去整理吧,整理的过程也是学习的过程~~~格式没有统一看着很尴尬啊,以后有时间再弄吧emmm 基础 简单介绍一下自己,为什么选择做前端?介绍下你最近的项目?说出你觉得自己身上最优秀的能力?说出你未来的规划?你...原创 2018-07-08 18:07:24 · 3752 阅读 · 1 评论 -
vue项目-知识点总结
参考 这里 ,讲解很详细也可以参考 这里 ,也很棒项目完成之后在 根目录 下 npm run build (就是 npm run dev 的那个目录) 会在根目录下生成一个 dist 目录,其中包含着 index.html 和一个css目录,一个js目录 按官方说,这个 dist 目录必须 http server 环境下才能运行 下个 xampp 在本地服务下访问 访问时出现了以下...转载 2018-07-23 22:05:33 · 240 阅读 · 0 评论 -
ES6之Promise常见面试题
Promise 想必大家都十分熟悉,想想就那么几个 api,可是你真的了解 Promise 吗?本文根据 Promise 的一些知识点总结了十道题,看看你能做对几道。 以下 promise 均指代 Promise 实例,环境是Promise 想必大家都十分熟悉,想想就那么几个 api,可是你真的了解 Promise 吗?本文根据 Promise 的一些知识点总结了十道题,看看你能做对几道。以下 p...转载 2018-07-07 13:33:12 · 27183 阅读 · 4 评论 -
【阿里前端测评题】实现 mergePromise 函数,把传进去的数组顺序先后执行,并且把返回的数据先后放到数组(data)中
const timeout = ms => new Promise((resolve) => { setTimeout(() => { resolve(); }, ms) }); const ajax1 = () => timeout(1000).then(() => { console.log('1') ret...原创 2018-10-09 11:01:08 · 781 阅读 · 0 评论 -
CVTE前端一面——记秋招的第一次面试
前言:本次秋招第一次面试,事实上也是第一次正式的面前端,还是有点紧张,回听自己的录音,感觉有些话说的真的是太邋遢了,没用的话太多。不要紧张,发挥出自己的正常水平。最后面试官说有什么问题要问,感觉一直都不知道这个问题究竟问什么比较好,所以又问了老问题:对我有什么评价或者学习上的建议吗?后来想了一下,可以问,前端在贵公司主要是做什么业务呢?主要偏重于移动端还是PC端?面试形式:电话面试面试...原创 2018-07-27 16:02:44 · 2981 阅读 · 0 评论 -
终于弄清楚JS的深拷贝和浅拷贝了-读这一篇就够了
今天,CVTE面试官问了深拷贝和浅拷贝的问题我的回答是:浅拷贝是拷贝了对象的引用,当原对象发生变化的时候,拷贝对象也跟着变化;深拷贝是另外申请了一块内存,内容和原对象一样,更改原对象,拷贝对象不会发生变化;但是面试官给我说:浅拷贝是拷贝一层,深层次的对象级别的就拷贝引用;深拷贝是拷贝多层,每一级别的数据都会拷贝出来;回来查了一下资料,并没有发现面试官说的这种关于深拷贝浅拷贝的说法,看了...原创 2018-07-27 17:22:14 · 36476 阅读 · 36 评论 -
CVTE前端二面
CVTE进度很快,一面当天晚上就通知要二面了,结果等着等着说改成第二天上午了,二面是视频面,面试官人看起来还可以,但是出了两个JS算法题,我写不上就不要让我写了啊(大哭),一直让写。。。这次面试长了教训吧,要多看看类似的JS算法题,嗯,正如所料的没通过。。第一题写了好长时间,有点懵逼了,面试官还一直让在那写,哎,第二题真的很简单啊,然而心态炸裂;事实证明,该复习一下这种算法题了第一...原创 2018-08-09 11:16:49 · 878 阅读 · 1 评论 -
JS实现数组去重(四种方法)
第一种:两层遍历,使用indexOf//第一种方法:两次遍历,时间复杂度为O(n2)function del(arr){ let result = []; for(let i = 0;i < arr.length;i++){ if(result.indexOf(arr[i]) == -1){ result.push(arr[i]...原创 2018-08-14 10:22:27 · 1214 阅读 · 0 评论 -
腾讯前端一面
实习过了没去一直害怕腾讯把自己拉黑了,一直没敢投,回复了一个短信,没想到简历就被捞起来了。希望后面一切顺利吧!自我介绍一下 对前端的了解 css里面的定位:absolute ,relative,fixed,分别相对于什么进行定位 css引入样式的方式,优先级,性能最好;外部文件的样式覆盖标签的样式 JS对象原型链,检测对象,数组的数据类型Object.prototype.toStrin...原创 2018-08-14 21:04:45 · 785 阅读 · 0 评论 -
途牛前端面试
实验室开会啊,忘记了四点半要视频面途牛,跑回宿舍开了电脑又发现电脑的qq崩了,,哎,最后迟到了十分钟,也不知道结果会是怎么样布局,垂直居中的实现 flex,左固定-自适应哪些实现方法 BFC的了解,用处(清除浮动,解决上下边距重叠) http,TCP/IP协议 组件化,模块化开发(项目) 数据结构了解哪些? 一个无序数组用二叉树进行排序,怎么做? 用递归怎么实现从小到大排序? ...原创 2018-08-14 21:22:17 · 1077 阅读 · 0 评论 -
2018-07-25拼多多提前批前端笔试题
链接:https://www.nowcoder.com/discuss/90910?type=2&order=0&pos=18&page=1来源:牛客网 2018-08-05拼多多前端笔试题1.如何改变this的指向?This对象是在运行时基于函数的执行环境绑定的:1) 在全局函数中,this等于window(匿名函数的执行环境具有全局性,因此this对象...转载 2018-08-07 14:11:14 · 1151 阅读 · 0 评论 -
腾讯前端二面2018-08-17
目前处于复试阶段,不知道后面还会不会有面试,哎,自求多福~~~好累事件冒泡 一般浏览器是先捕获还是先冒泡 http,TCP协议 GET,POST的区别 CSS里面的浮动 定位 JS的代码是在哪里执行的?(浏览器) 用过哪些Web服务器:tomcat,apache。。。 apache的原理,是单线程还是多线程还是多进程还是单进程 c++里面的编译主要做什么?(解析语法?) 操...原创 2018-08-18 09:53:44 · 550 阅读 · 0 评论 -
腾讯三面(前端转运营开发)
没错,前面两篇面经写的不太准确,的确面的是运营开发的岗位,因为貌似运营开发也有前后端,所以也是问了一部分前端的,只不过没有专业的腾讯前端那么残暴。最后一面了,面了十来分钟,回来查状态,已经变成HR面试了。。。框架主要用的vue吗 JS的变量有哪些类型 原型链的继承简单说一下 cookie和session的区别 业界流行的框架 AMD和CMD的区别 XSS的漏洞 一亿条数据,找...原创 2018-08-26 10:28:49 · 5006 阅读 · 1 评论 -
途牛前端二面 2018-08-23
虽然距离上次一面已经过去一周多了,但是不得不说每次约好了面试时间之后,面试官还是很准时的。面试官感觉是一个头头,问题是技术+开放题,很有领导派头。。。凭记忆回忆面试题介绍一下你对前端的看法(只说了还原设计稿和用户交互,忘记说和服务器进行数据传输,所以最后面试官说我的大局观不够,不知道是不是这个原因) 说一下你擅长什么好,你的基础比较好,那我们来聊一下基础吧JS继承哪几种方式,最常用...原创 2018-08-23 19:44:10 · 755 阅读 · 0 评论 -
360商业产品事业部(上海)前端开发一二面面经2018-08-21
网速确实不是很好,两个面试官都断断续续的,后面几乎都变成了电话面试了一面:自我介绍、学习经历代码题一编写一个flatten函数,使得输入 数组维度降低一级例如 输入 [2, [3], 'ss', [8, 4, [9]]] 输出 [2,3,‘ss’,8,4,[9]]我的答案function flatten(arr){ let result = [];...原创 2018-08-21 17:38:45 · 582 阅读 · 0 评论 -
面经知识点总结(一)
目录 1、$(document).ready和window.onload的区别2、form表单当前页面无刷新提交3、setTimeout和setInterval的区别4、重排及重绘,及何时进行重排批量修改DOM 5、伪元素和伪类1、$(document).ready和window.onload的区别前者是DOM树加载完毕就执行,不必等待页面中图片或其他外部文件都...原创 2018-08-29 16:40:31 · 357 阅读 · 0 评论 -
猫眼一面面经2018-09-11
自我介绍 项目简单过了一遍 什么是DOM? (一直回答不好这个问题)DOM是文档对象模型,是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来。文档对象模型把整张网页组织成这样的一个树状的结构,树结构中的每一个元素都被视为一个节点(node)。包括JavaScript在内的...原创 2018-09-11 17:13:17 · 445 阅读 · 0 评论 -
Vue常见面试题汇总
一. 请谈谈Vue中的MVVM模式MVVM全称是Model-View-ViewModelVue是以数据为驱动的,Vue自身将DOM和数据进行绑定,一旦创建绑定,DOM和数据将保持同步,每当数据发生变化,DOM会跟着变化。 ViewModel是Vue的核心,它是Vue的一个实例。Vue实例时作用域某个HTML元素上的这个HTML元素可以是body,也可以是某个id所指代的元素。DOMListene...原创 2018-07-08 17:41:46 · 16095 阅读 · 0 评论