本次面试面试了很多家公司,包括 360,美团,猿辅导,小米,腾讯地图,头条,新东方,快手,知乎等几家公司,刚开始去面试的时候那段时间状态不是很好(基本每天都加班到很晚,周六日也没有休息的那种,而且当时心态真的是差到爆,很多平时自己很会的东西,被问到居然答不上来),基本一面就挂的那种(360,美团,猿辅导),越面越失望,后来就直接不面试了,调整自己的状态,请假休息,好好睡了两天两夜之后,调整自己的心态,开始准备面试,接下来的面试就顺利的很多。
本篇面试题总结并没有按照公司那样分类而是按照知识点进行简单分类,很多面试题问的频率非常高,所以面试的时候如果第一次问完,没回答上来或者回答的不太好,一定要在面完的第一时间记录下来并且查找资料,否则就忘记了,或者之后再看就没有了当时迫切想知道具体答案的那种心情了(有迫切的想知道某些知识的心情的时候目标很明确,学东西也会印象深刻记得牢)。
本文链接地址较多,建议查看原文,阅读体验会好一些。下面给出的答案有的是自己总结的,有的是从网上找到写的很不错的相关文章,但是这些都仅供参考,不一定是最佳的答案,如果有很好的答案,欢迎留言一起讨论互相学习,有的还没有放上合适的链接,之后会不算补充进去,毕竟每道题涉及到的内容真的挺多的。
下面题目中标记有 【高频】 的至少被问过两次,标记有 【超高频】 的基本面试的每家公司都问到了。
可以使用 正则的捕获组来实现
var reg = /(\d{2})\.(\d{2})\/(\d{4})/
var data = '10.24/2017'
data = data.replace(reg, '$3-$1-$2')
console.log(data)//2017-10-24
import { useRef } from 'react';
export type compareFunction = (prev: T | undefined, next: T) => boolean;
export default (state: T, compare?: compareFunction): T | undefined => {
const prevRef = useRef();
const curRef = useRef();
const needUpdate = typeof compare === 'function' ? compare(curRef.current, state) : true;
if (needUpdate) {
prevRef.current = curRef.current;
curRef.current = state;
}
return prevRef.current;
};
更多自定义hook的写法可以参考 hooks
其他题目的答案之前做了整理,可以在 前端学习总结-手写代码系列中看到
webapck的HMR,怎么配置:
相关文章: Webpack Hot Module Replacement 的原理解析
更多可以查看 【面试题】HTTP知识点整理(附答案)
【超高频】 flex相关的问题
相关文章:Flex 布局教程:语法篇
CSS的实现
更多可以查看 【面试题】CSS知识点整理(附答案)
document.hidden
,监听 docuemnt.vibibleChange
事件
document.addEventListener("visibilitychange", function() {
console.log( document.hidden );
});
// 1. 在标签中直接绑定
// 2. 在js事件中获取dom事件绑定
document.getElementById('btn').onclick=handleClick();
// 3. 事件监听addEventListener
elementDOM.addEventListener(eventName,handle,useCapture);
JS类型转换
String([])
为 ’‘
, String({})
结果是什么什么? 答案是:'[object object]'
相关文章 为什么redux要返回一个新的state引发的血案, 阮一峰-Redux 入门教程(一):基本用法
更多可以查看 【面试题】React知识点整理(附答案)
大概说一下本人的大概情况,本科三年左右工作经验,非计算机专业,大三下学习决定转行学习前端,过程反正挺艰辛的,一直到现在还在恶补计算机的一些知识。毕业半年左右,一个偶然的机会,进入阿里文娱(哈哈,当时面试的时候也写过面经,感兴趣的可以看一下 当时写的面经 2017面末面试总结),现在因为个人原因,决定考虑新的机会。
面试差不多最开始是中3月中旬开始准备的,中间停了差不多小一个月又开始重新面试的,到最后拿到offer差不多5月底左右,历时近3个月吧,最近抽时间把这些题目总结了一下,算是给自己一个交代吧,上面很多题目自己回答的其实很多都不是很全面,标有 【高频】 及 【超高频】 刚开始回答的不好,后来认真学习总结了一下,之后再被问到,基本都回答得差不多
一般提到面试,肯定都会想问一下面试结果,我就大概的说一下面试结果,哈哈,其实不太想说,因为挺惨的,并没有像很多大佬一样“已拿字节阿里腾讯各大厂offer”,但是毕竟是自己的经历,无论结果如何都要坦然接受,之前没好好学习,那之后多学习就是。360,美团,猿辅导最开始的一面挂,小米二面的时候面试官告知说要求招5年以上工作经验的,所以就直接告知不符合(哈哈,可能就是跟小米没有缘分吧,刚毕业的时候面试,终面被拒说要3年以上工作经验的,现在够3年工作经验了,却又要求5年工作年限),腾讯地图和头条都是hr直接找过来的,自己并没有投递,就顺便面了一下,二面面完之后,以为挂了,后来过了一周多(可能是作为备胎把),又打电话过来约面试,其实之前面试大概了解了一下部门相关的情况,感觉不是自己想去的,并不是说部门不好,可能做的事情跟现在的情况太像了,所以想做出一些改变。当时家里面又有好多事情处理,也没有太多的时间,就直接拒绝了,这件事儿也给自己以后提个醒,投简历之前要先想明白自己想要什么样的,可以列一些目标,而不是因为急于找工作,猎头和hr直接打电话过来就直接面试。
本次面试有几家公司(腾讯地图,头条,360教育,新东方等)全部都是猎头和hr直接打电话过来让面试的,当时就抱着试试的态度,就直接面试了,面试的过程中感觉可能都不太合适(所以面试的时候要问一下公司部门的具体工作内容),换工作的时候尽量找相关部门的人内推,首先内推的部门你肯定会提前有所了解,而且还可以帮忙看看进度啥的,面试过了说不定还能成为好朋友,哈哈(所以平时要多结交一些大佬,一般大佬的人脉都很广泛,而且他们很可以给你内推,甚至可以把他们自己的经验分享给你)。
总是要想好自己现在出现什么问题了,为什么打算离职,下一份工作想要什么样儿的,毕竟一份工作要干很长时间。
推荐一些很好的文章:
好文章真的太多了,哈哈,这里就不全部放出来了,关于面试,我也准备做了一些总结,可以查看 个人博客
基本每家公司多多少少都会问很多算法题,算法题对于我这种基本没什么基础的人来说,碰到了就很恐惧,但是没有其他的办法,就是两个字 “多练”,这里推荐我看过的几篇文章: