搜狗 一面----网址导航 部门
那天在上课, 然后一个北京的电话打来:
面试官:"你好,请问你是***吗?.. "
我:"恩,我是的"
面试官:"我是搜狗前端的,我昨天有给你打过电话吗"
我:"没有"(等你好久了好吧....你就是不给我打...)
面试官:"那你21号早上十点来面试吧"(今天19号)
我:"恩...今天我有一个同学也去面试,如果可以的话,今天想和她一块儿".
面试官:"那也可以,你今天下午六点来面试,地址会发邮件给你"
三分钟过了...
我对我的时间安排后后悔了...
我干嘛要把时间安排到今天,多一天不是更好吗,还可以多学点知识,然后,各种纠结...过了两分钟,我又把电话打过去:
我:"喂,您好,我是***,请问一下,我想改一下时间可以吗?我想改到21号早上十点"(好吧,我四不四傻,自己不想好,改来改去,你让面试官怎么想...)
面试官:"可以,纳尼就21号早上十点来面试"
aaaa,我怎么是这种人,给面试官的印象一定不好了.那就面试的时候好好表现吧
21号早上来到高新区新路61号全季酒店,恩,还好,地方很当道,下车就在跟前,对于我这种路痴长大的来说,要的就是这种.....
来到房间,已经有一个同学在面试,我在外面等了大概十几分钟的样子,然后就到我了,先什么都不说,先来做一份笔试题吧
啊,好吧,做就做吧,谁怕谁,横竖都是死....没带笔啊, 面试官问我带笔没? 我说没有, 好尴尬....
一份8k大的纸,4道题目:
第一题:画出盒子模型
这个简单,吧啦吧啦,画了IE和标准模型的盒子图
第二题: 给一个函数,给最后alert的结果(考察作用域立链对的问题)
var a = "hello";
function f1(){
console.log(a);
}
function f2(){
var a = "world";
f1();
}
f2();
输出结果?
大概就是这样一个题目
我来分析一下: 这个考察的是作用域链的问题, 由于函数的作用域链是在被定义的时候, 就确定了,而不是在执行的是后才确定,所有这里f1 是在 被定义的时候就被确定自身的作用域链, 即 a("hello")---> f1 ; a(world)---> f2 ,所以在f2调用f1 的时候, 对于f1来说就回到自身的作用域链上, 去它自己的作用域链上去找相应的 变量a, 所以这道题最后的输出结果应该是hello (那么你猜我作对了没有? 猜中给你辣条吃)
第三题: 写一个数组去重的函数
我的当时的写法:
function removeRepeat(arr){
var newArr = [ ];
var obj = {};
for(var ele of arr){
if(! obj[ele]){
newArr.push(ele);
obj[ele] = true;
}
}
}
感觉这个方法还是听巧妙的,至少只要一层循环就OK !
第四题: 有一个数组, 写一个函数实现随机生成的一个副本?
题目理解: 元素就是随机插入,生成一个元数组的副本
我的解答:
function getEctype(arr) {
var newArr = [ ];
for(var ele of arr){
var index = parseInt(Math.random() * arr.length);
newArr.push(arr[index]);
arr.splice(index, 1);
}
}
做完笔试题就进入技术面试环节:
以下是我觉得我没有回答好的问题:(当然, 问的不仅仅是这些问题)
我的答案: let 以{ }为作用域;
不再有变量提升(var 有) ;
暂时性死区;
const 定义常量,定义的时候就要赋值, 切之后不可以再改变,引用类型除外
解构复制的特性
给以前的原型链实现面向对象编程做了一个语法糖, 增加了class类
新增很多很好用的方法, 比如:for of, map,....
6.原型链
这个还好, 自己去研究过,记忆很深刻!

浙公网安备 33010602011771号