我又来了,依然是一次面试失败的经历。不过这次面试收获了很多。这个公司一共叫我去面试了三次,共6个面试官依次面试了我。 这是我工作三年以来的第一次面试,很紧张,也不会说话,心疼自己三秒钟(๑•ᴗ•๑)
首先,面试官会针对简历上的东西进行提问,因为我的简历上写了angularJs,所以就问了些有关的知识点。这个框架一定要懂得它的原理。然后我就展示我的作品,她就会问里面某个功能是如何实现的,具体到代码。再之后她就问点js的知识,比如:如何避免在多人编写函数的时候,函数名一样呢?
(我蠢蠢的来了句改函数名呗。其实现在想想,有两种方法,一种就是我说的改函数名,就是在函数名前面就前缀咯;第二就是用命名空间的形式,用“对象名称.函数名称“的方式去调用函数,因为有很多函数的名称是可以重复使用的,例如删除、增加这样通用的名称。)
也问了弹性盒子、流线布局等css相关知识。
第三次面试的时候,问到了具体问题:
1、左右布局,如果两个a标签都为50%,但是在第一个a标签后换行,则第二个a就会被挤到第二行,如何解决呢,就把font-size设为0就行了。
html 代码
<style>
a{
width: 50%;
height: 40px;
display: inline-block;
font-size: 14px;
}
div>a:nth-child(1){
background-color: red;
}
div>a:nth-child(2){
background-color: green;
}
</style>
<div>
<a>aaaa</a>
<a>bbbbb</a>
</div>
<br><br>
<div style="font-size:0;">
<a>aaaa</a>
<a>bbbbb</a>
</div>
2、排列组合问题(考察递归和排列组合算法) javascript 代码
var str = [1,2,3];
var count = 0;
function arrange(s){
for(var i = 0,length = str.length;i< length;i++){
if(s.length == length - 1) {
if(s.indexOf(str[i]) < 0) {
count++;
console.log("组合"+count+"="+s + str[i]);
}
continue;
}
if(s.indexOf(str[i]) < 0) {
arrange(s+str[i]);
}
}
}
arrange('');
(这题被面试官坑了,说用js的某个数学函数,然后我的思路就被打断了,真想不起什么数学函数呀)
在面试的时候一定要占到主动地位,在介绍的时候一定要把自己擅长的东西表现出来,当面试官问你问题的时候,如果真的不是很深入的了解,那就说自己所知道的,然后再转回自己擅长的东西和他聊,让他完全没有说话的机会。我还需继续努力,面试经验还是不足,而且太在意一次面试了,紧张得不得了,完全是头脑一片空白,让面试觉得你就是不行,其实我的动手能力还是蛮牛逼的(╥╯^╰╥),继续努力吧,巩固自己的基础知识,加油!