时间:2023.8.25
时长:65 min
base:北京 帝都
面试岗位:前端 秋招
自我介绍
你为啥选择面前端,为啥没有去找后端呢?
我也简单看了你的项目,这是前后端都是你搭建的吗?
你有做过C端方面的吗?
主要是Vue?
对React知道多少?
你对CSS动画有哪些了解呢?
css常见的单位有哪些?
vw vh能说一下什么意思吗?
rem原理是啥?
你有了解移动端如何实现自适应的?【我只说到了rpx】
有两个div,说间距 margin重叠问题,
如何解决margin重叠问题,我说外面套俩div,触发BFC,然后问我触发BFC的方法,我说overflow:hidden,因为其他的方法我有点忘了,所以就直说其他的记得不是很清楚,
typeof [] 值,这个是object,我说成array了,哈哈哈哈
列举数组能改变自身的方法
concat会改变自身吗?
cookie除了key value,还能设置什么,我说了过期时间,然后不知道了,面试官提示xss,我就想到了httpOnly,secure。
浏览器同源策略
CORS有时候会发一个option请求,有了解过吗?
有几个输出能说一下吗?关于原型链的。
又来一提,这一题是暂时性死区的问题 const,问我输出是啥,我说了一波,然后面试官说会报错。。。然后把const改成var 输出又是啥,又被迷惑一波 ,呜呜呜......
来了一个promise,然后在里面还thorw,而且有一堆then,问输出是啥,又错了呜呜呜...
手撕代码,让程序能睡一秒
let a = 1;
setTimeout(() => {
a = 2;
}, 1000);
let a = 1;
await sleep(1000);
a = 2;
function sleep(ms) {
}
手撕代码,让能弹出成功,只能写一行代码:
function foo(){
var str = reverse('a,b,c,d,e,f,g');
if(str == 'g#f#e#d#c#b#a'){
alert('成功');
}else{
alert('失败');
}
}
function reverse(str) {
}
手撕代码,用正则表达式实现字符串的trim,忘了正则,用遍历for实现了
String.prototype.trim = function() {
};
手撕代码,找两个数组的交集
const nums1 = [4,9,5];
const nums2 = [9,4,9,8,4];
// [4,9] or [9,4]
function fn(nums1, nums2) {
}
手撕完毕居然还有时间。。。。。所以继续问,, 写vue是2还是3,都用
ref和reavtive的区别
vue有两种路由模式,能介绍一下嘛?
在history模式需要服务端配合,在nginx需要做什么操作呢 try_files
你也用过node?
你了解SSR吗?
反问环节 经典问 技术栈和做什么产品
promise这方面应该补一下。promise各种then来then去,
#面经##秋招##快手#