
前端面试
文章平均质量分 71
面试相关
mus_木司
武理学生,正在学习前端知识orz
简历:https://mus-z.gitee.io/resume/
展开
-
京东前端一面电话面
一个小姐姐打电话过来问了一些偏工程的内容,没怎么问基础是北京京东零售下面平台效率提升组的问了下学习方式问了下项目思路问了下antd pro的了解?觉得有什么不方便的地方?写过项目吗?没,就写过demo问了下webpack的了解问了下react和vue的对比理解大概20+分钟吧,没怎么问基础...原创 2020-09-06 16:30:50 · 526 阅读 · 0 评论 -
映客前端一面面经
面试官是一个小姐姐,emm没有反问环节有点难顶1.学习方法,看过书,刷什么博客2.html标签?语义化标签?3.view-port的了解?简单说了下理解,没有怎么用过4.移动端的物理像素和css像素的理解5.flex6.水平垂直居中7.bfc8.清除浮动9.一道题,关于对象的引用,说输出10.一道题,闭包相关,说输出11.写了一下ul嵌套li的事件代理12.webpack了解多少?说了几个根部属性和自己的理解13.说一下url回车之后发生了什么...原创 2020-09-04 15:52:09 · 650 阅读 · 0 评论 -
growingIO前端面经
看起来是连续的一二面,但是讲道理我表现的真的差1.arr.map(parseInt)2.学习前端的方法3.写了防抖,然后稍微细扣了传参(好久没写了记不清好多细节)4.Array.prototype.sort=function(compareFn),模拟实现Array.prototype.sort5.输出链表倒数第k个节点,快慢指针写的但是边界情况处理了好久6.为什么选前端7.写一下react的生命周期8.hooks常用的加一起大概一个半小时,可能是一二面,但是我觉得我应该有点凉..原创 2020-09-04 12:36:06 · 668 阅读 · 0 评论 -
神策数据前端二面
本来约的是明天,然后老师今天打电话,我说时间可以,就面了(其实我才刚收拾完宿舍)1.聊项目2.对react框架的理解3.对于前端工程化的理解4.跨域的方案面了半小时,基本上就是围绕项目问的,我也好多就是瞎吹orz...原创 2020-09-03 17:32:46 · 1035 阅读 · 0 评论 -
字节教育前端三面,接hr面,许愿意向书
1.说一下项目难点2.实现随输随搜的一个搜索框组件(通用组件而不是业务组件)3.如果想实现扫码登录用什么(长连接websocket的思路,不支持就轮询,怎么判断一一对应?我说的时间戳+随机码)4.实现打麻将的一种业务场景怎么实现5.有什么想问我的?团队规模,进入之后会接触什么业务,如果有校招offer实习怎么安排大概这些一个小时,面试官很和善,都会引导和提醒,我觉得我答得中规中矩吧,许愿hr面一周之后给通知...原创 2020-09-02 11:53:20 · 570 阅读 · 0 评论 -
找零钱的非动态规划解决方案
因为本身dp其实是会的而且注意到面试官给的空间复杂度是n,所以就放弃了dp想用deep解决结果超时了,自己坑了自己这是原版代码,如果arr不大的话是没啥问题的。。作者:mus。做梦想上岸链接:https://www.nowcoder.com/discuss/491532?channel=666&source_id=home_feed来源:牛客网function minMoney( arr , aim ) { let res=100000 let len=arr.le原创 2020-08-28 16:39:08 · 195 阅读 · 0 评论 -
美团三面被怼得惨,不过还是梦想一下hr面吧
作者:mus。做梦想上岸链接:https://www.nowcoder.com/discuss/491532?channel=666&source_id=home_feed来源:牛客网我应该是有问题,好几次被面试官说不能理解xxx,不在同一服务器的感觉最后给我的评价是,我应该是没怎么写过页面。。别的还好但是看脸色应该是凉了1.介绍项目难点2.一道算法,超时了换钱的最少货币数,不知道为什么超时,面试官也说看着有问题,本地是正常跑的,有没有大佬帮忙看一下function minMone原创 2020-08-28 16:36:16 · 978 阅读 · 0 评论 -
远景智能前端一面
电话面,小哥哥声音还可十几分钟吧1.说说对react的理解2.说说react的数据传递3.es6新特性用过什么4.url输入到地址栏回车之后发生了什么5.前端性能优化、缓存6.有做过兼容吗?没原创 2020-08-27 17:12:22 · 355 阅读 · 0 评论 -
字节教育前端二面面经
一个没开摄像头的小哥,估计是在家面试我没办法开总体聊的很愉快,主围绕react的数据状态管理redux的解耦合,虽然我没答上1.项目细节,略了,就是看着项目问react的知识2.对于ts掌握多少?了解一点,需要时间3.promise的状态和promise.all4.实现一个get函数,对于异常情况做处理返回值const a = { b: { c: { d: [{val:2}]}} }function get(obj, property, defaultValue){}const data原创 2020-08-27 11:40:24 · 746 阅读 · 0 评论 -
腾讯音乐前端一面凉经
腾讯一面虽然问的都是基础,但是扣的特别细orz1.dom的事件机制?冒泡和捕获怎么理解?点击li这段代码输出什么? document.getElementById("div").addEventListener( "click", e => { alert("div"); e.stopPropagation(); }, true ); document.querySelector(".ul").addEventListe原创 2020-08-26 23:22:37 · 966 阅读 · 2 评论 -
北京神策数据前端一面(智能运营产品线)
面试官一个很和气的小哥哥然后一面问的也比较基础最开始是自我介绍讲讲学习、讲讲项目1.h5新特性?localStroage/sessonStroage?有哪些语义化标签?语义化的好处?2.css3新特性?3.es6箭头函数4.call、apply、bind的区别5.position的五个值,sticky特性怎么模拟?6.promise、async/await的相关7.异步获取数据8.flex:1的含义9.垂直居中的实现10.跨域的方案11.react生命周期12.react的数据原创 2020-08-25 19:14:09 · 774 阅读 · 0 评论 -
小米前端一二面,许愿hr面
是个小姐姐面试官了1.实现垂直居中,我手写了transform和flex的2.margin重叠解释下3.盒模型4.兼容移动端一些问题?rem、em、vh、vw5.http缓存6.cookie的跨子域访问的事(简单说了下理解)7.cookie和localstroage区别8.跨域的方法9.cors的头10.dom捕获、冒泡、事件代理11.call、apply、bind区别12.写个大数+113.写个二分查找大概一个小时吧,我觉得我语速好快,虽然还是不深入,小姐姐说一会儿二面原创 2020-08-24 17:00:48 · 756 阅读 · 0 评论 -
字节教育-前端一面
面试官看起来比我还含蓄orz一面真的主要问的都是基础,后面面试官给的评价是:基础什么都了解,就是模糊、不深入,缺少实践唉实践这个事我也不愿意啊,赶进度的学习orz后面问面试官说算法重要还是实践重要:他说前端不太看算法(和我看过的其他面经不一样)说一共有四面,三技术+1hr话不多说,上题1.怎么学的前端2.查找dom的方式?模拟getElementById(我写的层序遍历然后搞了半天往把children放进去了,太紧张了,后面问我会不会arr太大,我说会是会的但是总会遍历到每一个,也可以用递归原创 2020-08-23 15:35:54 · 555 阅读 · 0 评论 -
css动画,圆周运动
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> @keyframes r{原创 2020-08-22 21:34:28 · 1142 阅读 · 0 评论 -
美团上海前端二面面经(有点凉估计还是自己接触太少)
大概一个小时,是一个看起来很和蔼的30左右的面试官问的都还好,对我态度也很好,但是我答的可能。。唉1.怎么学习前端的2.有看过什么前端的书3.js基本类型4.typeof的题字符串和字符串对象5.react和vue的区别(没怎么了解)6.react的数据管理用过什么7.手撕Promise.all8.手撕轮播图9.跨域的方法10.听没听说过CSP(没)11.this.setState()是同步还是异步12.了解PWA吗还有service worker?简单说了下,不了解深的13.原创 2020-08-20 18:30:09 · 574 阅读 · 0 评论 -
一道promise串联流的问题
const delay = (ms) => new Promise((resolve) => { setTimeout(resolve, ms); });const { log } = console;createFlow([ () => delay(1000).then(() => log(1)), () => log(2), () => delay(3000).then(() => log(3)), () => log.原创 2020-08-19 23:37:43 · 349 阅读 · 0 评论 -
美团上海前端一面面经
面试官小哥哥说话挺温柔的大概面了50分钟好了不多了上正题1.看项目用到localstroage,讲讲localstorage?超容量会怎么样?localstorage同源问题?2.egg.js写一个错误处理中间件?(不会3.next.js和egg.js有什么区别?我答了next.js主要用于前端,egg.js主要负责数据接口,面试管说有一点不对,后面说他们都是node封装的没啥区别emmm4.SPA如何减少首次请求次数,大概是懒加载吧动态import5.算法:爬楼6.算法:千分位(我用数组原创 2020-08-19 15:04:28 · 372 阅读 · 0 评论 -
js超好懂的螺旋矩阵解法(用递归)
原则就是每次最外边的四条边剥掉分三种情况m==n(方形)最简单,最后二维数组套一个字符m>n(宽形)最后m为奇数可能会出现只剩一行的情况m<n(窄形)最后n为奇数可能会出现只剩一列的情况var spiralOrder = function (matrix) { let res = [] //每次剃掉四个边 //会出现两种情况 //m>=n比较简单最后会剩下一行,验证m=1就直接返回 //m<n的时候会出现一列的情况n=1,逐行遍历之后原创 2020-08-14 17:28:05 · 880 阅读 · 0 评论 -
js回溯法解n皇后(力扣51)
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q", "Q...", "..Q."], ["..Q.", // 解法 2 "Q...", "...Q",原创 2020-08-14 14:46:51 · 483 阅读 · 0 评论 -
js无辜的超长数字字符串相乘
力扣43题受到启发可以写成str[i + j] += num1[i] * num2[j]的形式但是我可以不用末尾相乘开始而是从头部开始因为无论怎样都会拆成单字符X单字符的形式,只要角标对应,无所谓前后顺序编码还会简单些,不需要reverseconst multiply = (num1, num2) => { //简化排除头部的0,并且排除有一个数是0的情况 num1 = num1.split('') num2 = num2.split('') while (n原创 2020-08-13 10:41:42 · 546 阅读 · 0 评论 -
js的数独游戏(dfs)
const solveSudoku = (board) => { let success = false; const N = 9; //阶数 const row = {}; //缓存行 const col = {}; //缓存列 const box = {}; //缓存块 //以上三个缓存用来排除,并且持续维护,每个里面有至多9个栈 //初始化一个拷贝二维数组 const cb = new Array(N).fill(0).map((c原创 2020-08-12 18:44:18 · 1066 阅读 · 0 评论 -
js最长公共子序列
首先初始化一个(m+1)X(n+1)的二维数组,从(1,1)开始遍历如果i==j,则按照左上方对角线连接当前字符形成新的最长公共子序列如果不相等就判断左方和上方哪个长用哪个遍历结束之后最右下角就是我们需要的字串了function lcs(wordX, wordY) { let m = wordX.length; let n = wordY.length; let solution = []; //初始化一个二维数组,长度宽度分别为两个字符串的长度+1,内容为动态规划当前两分串的最长公原创 2020-08-10 17:22:37 · 903 阅读 · 0 评论 -
js快速排序的两种方法(两数组和两指针)
感觉用的话都是两数组用的多,但是考都感觉考两指针比较多主流思想都是分治递归,然后这里都选取了第一个数作为基准两数组会返回一个arr数组//两数组function QuickSort(arr){ let len=arr.length; if(len<=1)return arr;//结束条件,如果arr长度为1或0 let left=[]; let right=[]; let p=arr[0]; for(let i=1原创 2020-08-10 14:28:10 · 727 阅读 · 0 评论 -
对比var观察let的块级作用域的理解
let: 允许你声明一个作用域被限制在块级中的变量、语句或者表达式 let 绑定不受变量提升的约束,这意味着 let 声明不会被提升到当前该变量处于从块开始到初始化处理的“暂存死区”var: 声明变量的作用域限制在其声明位置的上下文中,而非声明变量总是全局的由于变量声明(以及其他声明)总是在任意代码执行之前处理的,所以在代码中的任意位置声明 变量总是等效于在代码开头声明const: 声明创建一个值的只读引用 (即指针) 基本数据当值发生改变时,那么其对应的指针也将发生改变,故造成 c.原创 2020-08-08 12:31:36 · 259 阅读 · 0 评论 -
对字符串或者数组进行去重全排列(精简代码)
function permin(str){ if(str.length<=1)return [str] let res=[];//res是string[] let len=str.length let set=new Set();//存头,放重复 for(let i=0;i<len;i++){//遍历之后拆分 let head=str[i] let tail=str.slice(0,i).concat(str.slice(i+1,len)) let r原创 2020-08-05 09:36:53 · 308 阅读 · 0 评论 -
模拟call、apply、bind
Function.prototype.mycall=function(context,...args){ context=context||null; context.fn=this;//this就是当前函数 let res=context.fn(...args);//以context为调用对象 delete context.fn; return res;}Function.prototype.myapply=function(context,args){原创 2020-08-04 17:43:15 · 144 阅读 · 0 评论 -
前端常见面试题(8.2)
文章目录三栏布局(圣杯、双飞翼、弹性)跨域请求的方法事件绑定和事件委托什么是原型链什么是闭包Ajaxcookie、loaclStorage、sessionStorage创建对象几种方式改变this指向浏览器渲染的重绘和回流(重排)浏览器和node的宏任务与微任务机制浏览器缓存详解Token服务端身份验证方案前端与数据埋点http和https的理解http数据接口防刷三栏布局(圣杯、双飞翼、弹性)二者都是三栏左右定宽中间自适应的典型布局圣杯布局<!DOCTYPE html><htm原创 2020-08-02 19:14:18 · 770 阅读 · 0 评论 -
圣杯布局和双飞翼布局的三栏式
二者都是三栏左右定宽中间自适应的典型布局圣杯布局<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>圣杯布局</title> <style>原创 2020-08-02 11:09:42 · 172 阅读 · 0 评论 -
前端常见面试题(8.1)
文章目录BFC、IFC、GFC、FFCdiv水平垂直居中display_none,visibility_hidden,opacity_0区别CSS优先级移动端1px边框的问题map和parseInt函数节流和函数防抖Set、Map、WeakSet、WeakMap的区别判断数组的方法ES6的class有哪些特性全局const和let的获取浏览器兼容问题前端性能优化前端的安全性问题BFC、IFC、GFC、FFCBFC块级格式上下文,页面中一块区域容器其子元素不会在布局上影响到外面的元素如何产生:flo原创 2020-08-01 22:38:02 · 335 阅读 · 0 评论 -
题目:实现一个对树型结构进行过滤的函数,其中树形结构的格式
题目:实现一个对树型结构进行过滤的函数,其中树形结构的格式如下: tree = [ {name: ‘A’}, {name: ‘B’,children: [ {name: ‘A’}, {name: ‘AA’, children: […]} ]}, {name: ‘C’}]假设我输入的 str 为 A 则过滤后返回的结果为 [ {name: ‘A’}, {name: ‘B’, children: [ {name: ‘A’} ]} ]假设我输入的 str 为 AA 则过滤后返回的结果为 [ .原创 2020-06-10 12:21:08 · 734 阅读 · 0 评论 -
深信服 星耀前端一面面经+二面凉了
5.30 下午5.30的场子 一面的小姐姐人真的很好,而且会引导和疏导,刚开始还挺紧张的后面就还好,虽然很多东西都记不太好,不过还是希望有二面吧面试官小姐姐说2技术面+1hr面,第二面可能偏重原理、数据结构、算法了姓名拼音转驼峰 replace正则数组去重 set和遍历冒泡排序取整 parseint 第二个参数默认值为十进制es6的解构 三等号和两等号 reduce的用法预加载和懒加载react的生命周期react的refs 虚拟dom获取react的其他情况call和apply原创 2020-06-07 17:51:59 · 1438 阅读 · 0 评论 -
【转载】前端必须了解的网络协议
https://blog.youkuaiyun.com/Lucky_chengzi/article/details/91581079前端必须了解的网络协议首先是一幅四层/七层模型图OSI七层网络模型TCP/IP四层概念模型对应网络协议应用层(Application)应用层HTTP、TFTP、FTP、NFS、WAIS、SMTP表示层(Presentation)Telnet、Rlogin、SNMP、Gopher会话层(session)SNMP、DNS传输层(Tran转载 2020-06-05 09:50:43 · 671 阅读 · 0 评论 -
快手前端一面凉经【全程不好意思的懵逼】
面试官小哥哥人态度巨好,我啥都不会也没有不耐烦。。但是真的是我太菜了。。题也记不清了1.网络的协议层次知道吗,xxx协议都是什么层的TCP 应用层(+三握四挥)DNS应用层FTP应用层。。。对不起我基本上不会乱答2.操作系统,死锁怎么形成,怎么解决?死锁是由于两个或以上的线程互相持有对方需要的资源,导致这些线程处于等待状态,无法执行。1.互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直到释放。2.请求和保持条件:一个线程对请求被占有资源发生阻塞时,对已经获得的资源不原创 2020-06-04 22:50:58 · 965 阅读 · 0 评论 -
【截图】常见前端面试题
https://www.bilibili.com/video/BV1ek4y1r7GT文章目录day01 css31.标签语义化2.盒子水平垂直居中3.盒模型标准4.几大经典布局--左右固定、中间自适应--移动端响应式布局day 02 js1.对象深浅拷贝2.堆栈内存+闭包作用域3.一道面向对象面试题4.EventLoop5.使下面输出1day03 React常见1.react双向绑定2.跨域问题JsonpiframeCORS-服务端配置http Proxynginx反向代理3.组件中通信day 04 入翻译 2020-06-02 16:40:49 · 14432 阅读 · 10 评论 -
React diff原理探究以及应用实践
转载:https://segmentfault.com/a/1190000018914249?utm_source=tag-newestReact通过引入Virtual DOM的概念,极大地避免无效的Dom操作,已使我们的页面的构建效率提到了极大的提升。但是如何高效地通过对比新旧Virtual DOM来找出真正的Dom变化之处同样也决定着页面的性能,React用其特殊的diff算法解决这个问题。Virtual DOM+React diff的组合极大地保障了React的性能,使其在业界有着不错的性能口碑。d转载 2020-05-29 16:06:13 · 356 阅读 · 0 评论 -
js的==详解
翻译 2020-04-19 20:47:31 · 3124 阅读 · 1 评论 -
js深拷贝(递归实现)【完美版解决包装对象Number,String , Boolean,Date,RegExp】
const deepClone =(initalObj) => { if (typeof initalObj !== 'object') {//如果是基本类型直接返回值 return initalObj } const obj = Array.isArray(initalObj)?[]:{};//可能是对象或者数...原创 2020-04-19 16:12:28 · 1892 阅读 · 0 评论 -
css的文本省略号(单行和多行)
https://baijiahao.baidu.com/s?id=1621362934713048315&wfr=spider&for=pc1)单行文本溢出显示省略号当我们在编写网页代码的时候,肯定会遇到过文字列表中的文字太多超出了我们所写的宽度,导致文本换行或者文本超出了界限,这时有人就会说了,让后台限制一下调用的文字个数不就行了吗,但是我们在做响应式的时候由于是百分比布局,...转载 2020-04-19 11:26:58 · 9152 阅读 · 0 评论 -
模拟Object.creat
https://www.jianshu.com/p/6c8cdad567f7Object.myCreate = function (obj) { function F () {}; F.prototype = obj; return new F(); }转载 2020-04-19 09:56:09 · 279 阅读 · 0 评论 -
模拟new
转载:https://www.jianshu.com/p/8aeef6b08560new功能是要生成一个构造函数的实例,所以在实现过程中需要我们手动创建一个空对象,对象的原型继承自构造函数。如果调用构造函数无返回结果,则返回结果,否则返回创建的对象。function new2(...rest){ let obj = {}; let [context,...args] = res...转载 2020-04-19 09:52:46 · 173 阅读 · 0 评论