金山云前端二面(1h)

这次面试脑子跟糊掉了一样,整个人也没睡醒,状态也差得很,丢死人了,好几个都回答错了

倒是非常感谢面试官,让我发现我自己没掌握的地方

1个小时,出了7道题8道题的样子

1、this判断

function makeStudent() {
    console.log('this', this);
    return {
        studentName: 'xiaoming',
        ref: this,
    }
}

let student = makeStudent();
console.log(student.ref, student.ref.studentName)//window undefined


let student2 = new makeStudent()
console.log(student2.ref, student2.ref.studentName)//makeStudent{}  undefined

补充:如何让student.ref.studentName打印xiaoming呢?

我个人觉得可以把ref写成方法的形式,不知道有没有别的

2、写一个类,有一个this.z=[1,2,3,4,5] 有一个方法sayHello,要求obj.sayHello调用一次打印1,再调用一次打印2...【我猜到面试官应该是想考我迭代器,然而我也糊涂了,直接写了个this.z[i++]了】

class Hello{
  constructor(){
	 this.z=[1,2,3,4,5]
  }
  sayHello(){
	console.log(this.z)
  }
}

const obj=new Hello()
const {sayHello}=obj
sayHello()

面试官问我这样子解构可以吗,我说可以啊,面试官说会报错,我当时蒙了,我说obj身上有sayHello属性啊,面试官让我自己去查(后面了解到解构是不会报错的,但是调用会报错,因为此时es6开启了严格模式,解构后this指向undefined,undefined没有z属性,所以报错)

3、给你s毫秒,转为x年x月x天x日x时x分x秒的形式(写不出,说了下思路)

4、fetch api封装一个网络请求函数(我当时脑子也蒙了,说是封装,结果url、methods什么的都不传,全给他写死,面试官说我没有封装思维,我其实只是当时脑子糊住了,我平常写代码不这样的)

5、import的循环引用看输出【这个题总算是答对了】

a.js:
console.log('a starting');
exports.done = false;
const b = require('./b.js');
console.log('in a, b.done = %j', b.done);
exports.done = true;
console.log('a done');

b.js:
console.log('b starting');
exports.done = false;
const a = require('./a.js');
console.log('in b, a.done = %j', a.done);
exports.done = true;
console.log('b done');

main.js:
console.log('main starting');
const a = require('./a.js');
const b = require('./b.js');
console.log('in main, a.done = %j, b.done = %j', a.done, b.done);

//请输出打印结果:
main starting
a starting
b starting
    in b, a.done false
b done
    in a, b.done true
a done
    in main, a.done = true, b.done = true

6、写一个正则,让我选出html或css,re.test('htmla')返回true,re.test('css')返回true,re.test('js')返回false

我正则语法也有点忘记了,我直接写了个

let re = new RegExp('html|css')
console.log(/[html|css]/.test(a))//应该把方括号改成花括号就对了

//利用正则提取方法和参数,下面这个要求拿到SayHi和args
const str = 'obj.someMethod.sayHi(args)'
let re = /\.(\w+)\((\w+)\)/
console.log(str.match(re))

7、考了个react写一个组件

8、只能使用flex布局,不能用定位或者别的,要求1和2在box水平垂直居中,3在右上角

(这个题我现在还是不会,我知道可以给3加align-self为flex-start让他在上面,但是不知道如何弄到右边去)

/*可以假设1 2 3都是100px高宽*/
<div class="box">
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>

还是非常感谢面试官!

全部评论
老哥投的哪里的呀,北京的吗?
点赞 回复 分享
发布于 2024-04-08 18:25 北京
佬,是不是个女面试官面的
点赞 回复 分享
发布于 2023-12-08 17:53 湖北
pading和margin都不能使用吗,只能用flex相关的吗 .box { display: flex; flex-direction: column; align-items: center; justify-content: center; } .box > div { margin: 10px; padding: 20px; border: 1px solid #000; } .box > div:last-child { margin-top: auto; margin-left: auto; }
点赞 回复 分享
发布于 2023-11-11 02:53 上海
和我一个面试官一摸一样,楼主有后续了吗
点赞 回复 分享
发布于 2023-11-01 17:00 重庆
老哥投的base哪里呀?
点赞 回复 分享
发布于 2023-10-30 01:44 湖北

相关推荐

一二面全是八股盛宴一面1、大数据量的图表有没有遇到过什么性能瓶颈,怎么做的优化呢?2、在网慢的情况下,进入页面,资源的下载顺序是怎么做的?async和defer的区别是什么?3、语义化标签有哪些?好处有哪些?SEO优化?4、服务端渲染?5、盒模型是什么?box-sizing的作用是什么?为什么要切换计算方式呢?6、如何实现一个元素的水平垂直居中7、flex布局怎么去写,双飞翼布局8、定位的方式有哪些?三大定位哪些脱离文档流?9、absolute相对什么来定位的?10、JS的数据结构有哪些?从基础数据类型和引用数据类型来说11、null和undefined有什么区别?==返回是什么?12、var、let、const有什么区别?13、闭包说一下,是怎么造成内存泄漏的影响的?14、手写一个防抖函数15、说一下事件循环,JS为何这样设计呢?16、说一下对promise的理解17、浏览器输入URL到成功渲染出来的过程中发生了什么18、DNS解析是怎么做的呢?这是递归的查询还是迭代的查询呢19、websocket如果断掉了这么检测?20、SEE是什么?是一个什么连接?二面1、TCP连接为什么需要三次握手?具体过程是什么?2、重排和重绘是什么?修改一个DIV的width属性是重排还是重绘?3、UDP知道吗?4、浏览器中的进程和线程指的是什么?5、JS为什么是单线程的?6、什么是JS异步?解释一下事件循环?每次循环执行几个宏任务7、浏览器的跨域?JSONP的原理是什么?script是在干什么?发了请求回去怎么通信的?8、HTML的第一排的就是type,不加会有什么问题?加上和不加分别是什么模式9、CSS的盒模型是什么?border-&nbsp;box的作用是什么?包含哪些?10、什么叫盒模型的塌陷?为什么会发生?怎么解决?11、display&nbsp;float的float是干嘛的12、flex和grid有什么区别?哪个是一维的?13、如果子级是200px的宽度,父级是小于200px,会发生什么?14、什么是闭包?如果定义了一个变量,是一个一两个G的话,用完之后怎么手动销毁呢?15、防抖和节流一般用来干嘛?区别是什么?16、什么是事件的冒泡和捕获?17、nodejs中的commonJS和ESmodule的区别是什么?18、静态分析的tree-shaking是干嘛的?具体的实现逻辑是什么样的?怎么去分析哪些是静态代码的?什么叫抽象语法树?19、用过哪些打包编译的工具?20、webpack的plugin和loader分别是干嘛的?21、使用less-loader的时候,过程中发生了什么?比如把less转成CSS,这个转变的过程了发生了什么?22、现在很多都是SPA,那为什么会有SSR呢?23、了解哪些跨端的框架?为什么要出现这些跨端的框架?24、RN是怎么和原生的APP通信的?他的渲染机制是什么样的?25、手撕:将数组的0移动到末尾,其他的非0数字的顺序保持不变
点赞 评论 收藏
分享
评论
5
35
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务