为了账号安全,请及时绑定邮箱和手机立即绑定

前端面试总结——读书郎

标签:
JavaScript

前几天在拉勾投的简历,今天下午下班后去面试,总的感觉是面试很专业很基础,自己太不专业了,大三到现在也只是自己写写小项目自己玩,真正聊技术的话,一点都不专业,专业名词没几个能说的上来,想到之前工作中用到的很多python知识点自己也是说不上来,只是会用,后来看到别人的教程,才知道自己一直用的东东原来是有专业名词的。

下面是面试的题目:

  1. js 知识点考察:

function fun(){    console.log(this)
}
fun()
b = new fun()console.log(b)

(1) 以上结果分别是什么?

第一个 this 指向全局作用域,所以打印的应该是window,这个我当时一时没反应过来,知道是指向全局作用域,但是具体打印出来的是什么,没反应过来。

第二个b是fun函数的实例,继承了fun函数的所有特性,但是由于没有给这个实例传参,所以结果是undefined,这个我知道打印出来的是undefined,也知道原因,但是没有按着面试官走,没把实例这个名词说出来。

var a = 1function fun(){    console.log(a)    if(true){        var a = 2
        console.log(a)
    }    console.log(a)
}
fun()console.log(a)

(2) 以上代码打印出来的分别是什么?为什么?

第一个a打印出来是 undefined,因为作用域内不存在这个参数,默认返回undefined。第二个a打印出来是2,因为在if内申明了局部变量a并把2赋值给了这个参数。第三个a打印出来同样是2,因为这条语句在if作用域的下面,代码树是往下延伸的。第四个a打印出来是a,因为a=1属于这个作用域,而函数里的a它是共享不到的,要共享函数内的参数的话,可以用闭包。

(3)第三个问题没太懂,问的是function除了argument外还有哪些内置xx?这个我没听清的用xx表示吧,你们懂的告诉我一声。

  1. 算法知识点考察

(1)说说快排,这个我当时有点蒙圈了,因为好久之前接触的东东,都忘了,回来后补充解释如下:

快速排序是从目标数据中任意选取一个数据,以这个数据的值为分割点,把目标数据分割为两部分。这样循环操作下去进行排序。这个在代码中用的挺多的,但是我没记住它的学名,没想起来。这个解释摘自我大二时候读《写给大家的算法书》的算法基础部分的笔记。

(2)说说冒泡排序,同上,没打出来,回来后补充解释如下:

冒泡排序是对比相邻的两个数据,根据大小关系调整两个数据的顺序。同样摘自大二的读书笔记。

除了这些还有一些零零碎碎的知识点,我就不一一罗列了,列出这几个典型的吧,可能面试经验比较少,很多东西都准备不充分,背着自己的电脑就过去面试了,面试问到项目就拿出了自己的一些小项目出来,也比较随意,结果是其次,最主要的是面试挺欢乐,知道了自己在前端算法这一块还很薄弱,接下来得好好学学数据结构和算法了。



作者:素雅倾心
链接:https://www.jianshu.com/p/8b37fbe7911a


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消