2017今日头条秋招(前端)一面总结

怎么说呢,对于第一次在线视频面试的我还是非常的紧张,不过也挺激动的,因为万万没想到牛客网现在做得这么好了,居然在线视频可以写代码同步到视频的对方。不禁感叹牛客网在性能和网页即时通讯这方面做得太好了。

正式说面试吧,视频一接通,面试官先让我自我介绍,自我介绍balabala...具体顺序忘记了,下面零散记录一下吧。

  1. 面:ajax和模版拼接有什么不同?(因为我简历里面有个项目用到了模版拼接。。。)
    我:前者优点优点是有利于SEO,缺点是服务器压力较前者大;后者是减轻服务器压力,缺点是不利于SEO。
    面:那怎么解决这个问题呢?
    我:(what?)额。。。我认为使用VUEJS的数据双向绑定挺好的,但是不是很了解它的性能。(数据双向绑定的方式性能应该挺不错的,有待考证)

  2. 面:你知道jQuery的data()方法吗?
    我:不知道。。。
    总结:jQuery的data()方法向被选元素附加数据,或者从被选元素获取数据。

  3. 面:那你知道jquery的事件代理和js的事件代理有什么区别吗?
    我:不知道,不过我知道事件代理是怎么回事,balabala...
    面:那你怎么去匹配jquery的on方法的第二个参数?
    我:使用evrnt.target去匹配。
    面:有没有更简单的方法呢?
    我:暂时没想到。。。
    面:其实有原生的方法,你下去查一下吧。

  4. 面:如何获取第10秒视频的弹幕数据?
    我:嗯。。。首先要考虑这个数据的存储结构,如果是下面这种数据结果,直接就可以获取到哒。。
    var obj = {
    1s:[data,data,...],
    ....
    10s:[data,....]
    };
    面:如果是数组存储的形式呢?每一项包括了时间和data。
    我:首先看这个数组是否是有序或者有规律的间隔存储,如果是的话,可以按照间隔规律直接获得;如果间隔没有规律的话可以使用二分法来进行查找。
    面:那你写一下二分法吧。
    我:写。。。
    面:貌似一些边界值的处理有些问题,还有你知道slice方法具体的参数吗?
    我:知道呀(开始怀疑自己是不是记错了,难道第二参数不是end是个数?)
    面试官纠正了我的一些错误。。。

  5. 面:你是学软件工程的吧?那我问你一些数据库相关的。。。你会怎么去设计一个表呢?包括它的一些附件信息。
    这part自己没有好好准备,答得很烂,所以不详细讲了,下来好好复习数据库。。。😢

  6. 面:你写一下继承吧。
    我:我首先使用原型方法实现继承,然后还有一种apply和call的方法实现。
    面:你知道为什么可以使用apply和call吗?
    我:我理解的是child可以通过apply去引用parent的属性或者方法。
    面:不太对。。。。(跟我解释了一下没听清楚)
    总结:apply和call是调用一个对象的一个方法,以另一个对象替换当前对象。 它们将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象 。从而可以实现继承。

  7. 面:HTTP在计算机网络的那一层?
    我:应该是在应用层的。
    面:HTTPS呢?
    我:应该...也是在应用层的吧
    面:那你知道HTTPS如何实现加密的吗?
    我:SSL?不是很清楚。。

     总结:HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
     即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
     https协议需要到ca申请证书,一般免费证书很少,需要交费。
     http是超文本传输协议,信息是明文传输。
     https 则是具有安全性的ssl加密传输协议http和https使用的是完全不同的连接方式用的端口也不一样。
     前者是80,后者是443。
     客户端产生一个对称的密钥,通过server 的证书来交换密钥. 
     一般意义上的握手过程.ii. 加下来所有的信息往来就都是加密的. 
     第三方即使截获,也没有任何意义.因为他没有密钥。
    
  8. 面:你说说如何实现文件上传呢?
    我:我之前使用的方法是使用formData来实现,具体的原理就是使用js创建一个form表单,然后将需要上传的文件属性写入表单,通过submit实现上传。。。(说的很模糊)
    面:那你知道如何把一些参数写入formData吗?
    我:。。。忘记了
    总结:参考http://www.jianshu.com/p/46e6e03a0d53
    参考formData MDN
    参考:阮一峰:文件上传的渐进式增强

差不多就这些。。。自己知识点不够扎实,革命尚未成功,同志仍需努力啊~

推荐阅读更多精彩内容