一次前端开发电话面试总结(3月7日添加更新)

3月7日增加更新,以下是QQ上简单面试问的问题:

 

  1. 你有github账号或者是个人博客么?面试官对我说,面试的时候,对有博客有github的人印象会比没有的好些。有这些东西,说明平时爱总结、爱学习。知乎上有个答案:为什么 2014 年程序员薪资那么高?

     
  2. 你对我们公司了解么?为什么想来我们公司工作?
  3. 你的职业规划是什么?
  4. 你做前端遇到过的最难的问题是什么?具体在实现什么功能或者效果上遇到了这个问题。如何解决的?简单得写个demo。
  5. 前端工作里你遇到过什么很有挑战性的事情么?

 

--------------------------分割线-------------------------------------------------------------------------------------------------

 

上午参加了一个前端开发技术的电话面试,整理一下问的问题。

HTML部分
  1. 如何理解HTML语义化?
  2. HTML5有哪些标签?标签作用和区别?
CSS部分
  1. display:none和visible:hidden的区别是什么?
  2. position有哪些值,有哪些作用?
JavaScript部分
  1. 你对闭包的理解是什么?平时开发中的应用?
  2. 你对事件委托机制的理解是什么?
  3. 你对回调函数的理解是什么?平时开发中的应用?
其他问题
  1. jQuery(),可以传入什么参数?
  2. 有什么网上可以看到的作品?
  3. 这个作品的这个功能是如何实现的?
  4. 这个作品开发用了多长时间?

面试之后,搜了一下答案:

display:none与visible:hidden的区别

display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别:

display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就是看不见也摸不到。

visible:hidden--- 使对象在网页上不可见,但该对象在网页上所占的空间没有改变,通俗来说就是看不见但摸得到。

position有哪些属性:
可能的值描述
absolute生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
fixed生成绝对定位的元素,相对于浏览器窗口进行定位。
relative生成相对定位的元素,相对于其正常位置进行定位。
static没有定位,元素出现在正常的流中
inherit规定应该从父元素继承 position 属性的值
闭包的简单理解

关于闭包,最简单的描述就是 ECMAScript 允许使用内部函数--即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。也就是说,内部函数会在外部函数返回后被执行。而当这个内部函数执行时,它仍然必需访问其外部函数的局部变量、参数以及其他内部函数。这些局部变量、参数和函数声明(最初时)的值是外部函数返回时的值,但也会受到内部函数的影响。

事件委托的理解
  1. 解释一下事件冒泡机制
  2. 使用事件委托技术能让你避免对特定的每个节点添加事件监听器;相反,事件监听器是被添加到它们的父元素上。事件监听器会分析从子元素冒泡上来的事件,找到是哪个子元素的事件。
回调函数的理解

在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。

  1. 回调什么时候执行 回调函数,一般在同步情境下是最后执行的,而在异步情境下有可能不执行,因为事件没有被触发或者条件不满足。

  2. 回调函数的使用场合

    • 资源加载:动态加载js文件后执行回调,加载iframe后执行回调,ajax操作回调,图片加载完成执行回调,AJAX等等。

    • DOM事件及Node.js事件基于回调机制(Node.js回调可能会出现多层回调嵌套的问题)。

    • setTimeout的延迟时间为0,这个hack经常被用到,settimeout调用的函数其实就是一个callback的体现

    • 链式调用:链式调用的时候,在赋值器(setter)方法中(或者本身没有返回值的方法中)很容易实现链式调用,而取值器(getter)相对来说不好实现链式调用,因为你需要取值器返回你需要的数据而不是this指针,如果要实现链式方法,可以用回调函数来实现

    • setTimeout、setInterval的函数调用得到其返回值。由于两个函数都是异步的,即:他们的调用时序和程序的主流程是相对独立的,所以没有办法在主体里面等待它们的返回值,它们被打开的时候程序也不会停下来等待,否则也就失去了setTimeout及setInterval的意义了,所以用return已经没有意义,只能使用callback。callback的意义在于将timer执行的结果通知给代理函数进行及时处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值