一、投递信息
- 投递时间:2020年2月24日
- 岗位:Web前端开发方向—暑期实习生
- 工作地点:深圳
- 信息来源:有乎求职微信公众号
- 面试时间:2020年3月1日
- 面试方式:视频面试
- 面试时长:48分钟
- 面试平台:牛客网
二、面试官问题
- position属性,分别基于什么定位,定位方式:
我的回答:relative,fixed,基于什么定位。。。忘了。
学习文章:https://www.w3school.com.cn/cssref/pr_class_position.asp - display取值:
我的回答:none,别的忘了。(是真的没想起来,这个我还经常用呢!!)
学习文章:https://www.w3school.com.cn/cssref/pr_class_display.asp - CSS常用伪类:
我的回答:。。。(我都没听过这个词)。
学习文章:https://www.w3school.com.cn/css/css_pseudo_classes.asp - H5移动端页面自适应:
我的回答:我开始回答的是js判断浏览器及其版本(还没说太明白),后来面试官又问了一遍,我才听清楚,我想到了使用meta标签,但是具体是啥,我又没记住。。。
学习文章:https://blog.csdn.net/huang100qi/article/details/81842408 - ES6你知道吧,ES6新特性你知道多少?
我的回答:ES6我还在学习中,目前知道新特性是let和const。(这题目在26日腾讯电话面试的时候,面试官提问过,我查了,但是没有全部记住,就记住了let和const,惭愧)
学习文章:https://www.jianshu.com/p/ac1787f6c50f - 那你就说一下let和const吧。(引导面试官去问我会的问题,第一次实战成功!)
我的回答:
首先说一下let和var的区别:let和var的使用作用域不同,var有全局作用域和函数作用域,没用块级作用域,let可以声明块级作用域,在{}内有效,可以在for循环内使用,在for循环中定义let i,在for循环中写一个函数,比如setTimeout,在此函数中的i是循环体内部作用域,不受外界影响。
const:const是定义常量,一旦定义在以后不可以修改。
学习文章:https://www.cnblogs.com/jing-tian/p/11073168.html - apply call bind区别:
我的回答:都是用来this指向的,apply和call的函数参数不同,一个是数组一个是。。。bind的参数是函数。(我这个之前在刷题的时候是真学过啊!,又没记住)
学习文章:https://blog.csdn.net/u010176097/article/details/80348447 - this关键字:
我的回答:我没说明白,也是自己没完全掌握。
学习文章:https://www.runoob.com/js/js-this.html - 使用过promise吗?
我的回答:我没有使用过,但是知道它是用来异步编程的,具体的我还需要再学习学习。
学习文章:https://www.jianshu.com/p/b16e7c9e1f9f - 调试方式:
我的回答:console.log。。。(面试官让我以后使用“打断点”的方式,更快。)
学习文章:https://www.runoob.com/js/js-debugging.html - 文档页面元素获取有几种方法:
我的回答:docunment.getElementById
docunment.getElementByTagName
docunment.getElementsByClassName
其实是:docunment.getElementById
docunment.getElementsByName
docunment.getElementByTagName
docunment.getElementsByClassName
document.querySelector()
document.querySelectorAll()
学习文章:https://www.runoob.com/jsref/dom-obj-document.html - vue父子通信:
我的回答:我。。不会。
学习文章:https://blog.csdn.net/wy6250000/article/details/83793400 - 跨域使用过吗?
我的回答:这个我还真没了解过。
学习文章:https://segmentfault.com/a/1190000011145364 - 工作地点是深圳,去深圳的意向如何,你家是哪的?
我的回答:嗯,很想去深圳,我家比较远,在内蒙古。 - 毕业有什么打算,会读博吗?
我的回答:我毕业确定了会去互联网公司从事前端工作,不会读博。 - 编程题:
1)写一个javascript函数实现数字重复元素的查找。比如:
参数输入 [0,1,1,3,2,4,3,5]
返回 [1,3]
我这道题写的老利索了,之前在牛客网上刷过类似的题。然后就看第二道题,都没运行,我真的是。。。咋想的!这是我面试的时候写的代码:
function f(arr){
var res = [];
for(var i=0;i<arr.length;i++){
if(arr.indexOf([arr[i]]) != arr.lastIndexOf(arr[i])){
res.push(arr[i]);
}
}
return res;
}
错误1(咋还能出现这种错误呢):arr.indexOf([arr[i]]) 应该写成:arr.indexOf(arr[i])
错误2:输出结果是[1, 1, 3, 3]。
悔恨,明明是会的题。
正确代码:
function f(arr){
console.log(arr);
var res = [];
var num = [];
for(var i=0;i<arr.length;i++){
if(res.indexOf(arr[i]) ==-1){
res.push(arr[i]);
}else{
num.push(arr[i]);
}
}
return num;
}
2)页面有一个ul,要在ul中插入1000个li,每个li的内容是它当前的序号,点击li会打印出当前li的序号,怎么实现?
序号怎么绑定li标签:<ul id="ul"><ul>
我的代码,我真的是要被自己气哭了,别的不会咋docunment.getElementById还写错了。。。
var ul = documentElementId('ul');
for(var i=0; i<1000; i++){
}
后来,我又仔细看题,原来我题都没读明白,我说面试官咋又详细的描述了一遍,我还在想,我知道要实现啥,就是想不到那个插入函数了么。。。
我以为题目是直接输出1000个li标签,每个标签前边有自动生成的序号。
结果题目是,点击才会打印当前序号。。。不说别的点击好歹我还能说个click吧,结果一脸懵。
正确代码:
window.onload = function(){
var ul = document.getElementsByTagName('ul');
var li = '';
for(let i=0; i<10; i++){
li += "<li>li</li>";
}
ul[0].innerHTML = li;
var tag = document.getElementsByTagName('li');
for(let i=0;i<10;i++){
tag[i].onclick = function(){
document.write(i);
}
}
}
三、我的提问
- 我这个是一面吗?我前几天参加了腾讯的电话面试,我想说和这次面试有关系吗?
嗯,这个是一面,我们是不同部门的,我们现在面试你,就会把你的简历锁了,解锁以后你还有机会参加其他部门面试,不同部门的面试不会有影响。
(说明我腾讯的电话面挂了,给我解锁了,我才收到了这次面试机会。) - 面试结果如何都会通知吗?
嗯,会的,我们会对你的面试进行评估,然后告诉你结果。
我感觉面试小姐姐想结束这场面试了,就没有继续问下去了,我虽然能回答的问题少,可是我想问面试官的问题老多了,不急,路还长。
四、感想
- 也就是我脸皮厚了,就这水平还敢到处投简历。
- 这次面试官问的比较多的是CSS,so我又发现我CSS学的真的是。。。差远了,也就是我乐观吧,还没陷入消极情绪中,还觉得这次比上次回答的多了点了呢!说我不会的次数少了呢!面试时间长了呢!也不知道这么乐观是好事还是不好。。。
- 面试官还是很和善的,当我听不懂她问的问题的时候,她会再给我解释一遍然后给点提示,或者打出来(打出来是因为我对知识点不熟,面试官有一丢丢,就是一丢丢的口音,我听不太清楚),而且会给我建议:好好学CSS,毕竟这是基础。嗯!好好学!
- 本次面试总结,再学习js、计网的路上,再加一项去W3school看CSS手册,学CSS去。
PS:纪念一下吧,好看!