面试官姓潘,是一位年轻的和善的面试官,曾在tx就职,面试过程很nice。

他只问了我六个问题,我很多都答的不深入或者答不出来,也就是基础知识不牢固,不透彻。

1.Jquery和vue操作DOM的区别?

Jquery和vue.js都是js的库,Jquery操作dom本质上与原生js没区别,只不过Jquery获取的是Jquery对象,js获取的是DOM对象,两者更新数据所使用的方法不一样,但是两者可相互转换。

例如:

var aLink = $("#a"); aLink.attr("disabled","true");

var alink = document.getElementById("a"); alink.disabled = true;

转换:

$("#a").get(0) => alink

$(alink) => $("#a")

但是vue由于数据是双向绑定的,其中有一个compile解析器,专用于解析模板指令(例如v-on、v-model等),在初始化解析的时候,将变量和dom对象进行了绑定,所以当监听器observer发现(监听)数据发生变化后,会通知订阅者watcher去执行相应的函数,从而更新视图。

2.vue在更新数据时,具体是怎么更新的?

这个问题,当时没明白面试官的意图,可能是想问关于virtual dom。

关于理解virtual dom可参考链接:https://www.cnblogs.com/wubaiqing/p/6726429.html

这里博主根据链接里的理解,写下了简略的模拟DOM(实际远不止这些)

    function Element (tagName, props, children) {this.tagName = tagNamethis.props = propsthis.children = children}Element.prototype.render = function () {var el = document.createElement(this.tagName) // 根据tagName构建var props = this.propsfor (var propName in props) { // 设置节点的DOM属性var propValue = props[propName]el.setAttribute(propName, propValue)}var children = this.children || []children.forEach(function (child) {var childEl = (child instanceof Element)? child.render() // 如果子节点也是虚拟DOM,递归构建DOM节点。render()方法是构造函数Element原型上的方法: document.createTextNode(child) // 如果字符串,只构建文本节点el.appendChild(childEl)})return el}var ul = new Element('ul', {id: 'list'}, [new Element('li', {class: 'item'}, ['Item 1']),new Element('li', {class: 'item'}, ['Item 2']),new Element('li', {class: 'item'}, ['Item 3'])])var ulRoot = ul.render()document.body.appendChild(ulRoot)

后台可见渲染出真的DOM对象,如下图:

3.现假设有一段字符串,形如:"<li>1<p>2<span>3<span>4</span>.......",把这些字符串解析成DOM对象

利用栈数据结构去解析即可。解析第一个<li>的时候就压入到栈底,依次类推,遇到相对应的闭标签时,就出栈。

4.http请求缓存具体是怎么样的?如果缓存的文件未过期,怎么让用户即时获取到最新的文件?

请参考:

https://www.cnblogs.com/chenqf/p/6386163.html

https://www.cnblogs.com/eric-qin/p/6255616.html

5.说说XSS、CSRF,详细的。

参考:https://blog.csdn.net/Charles_Tian/article/details/82348067

中途由于对CSRF理解的不深,终止了回答,甚是尴尬。

6.请你实现一个功能,在调用delayHello()时,隔一秒后打印5。

面试官给出的代码雏形:

var hello = function(a, b){console.log(a);
}
function delay(func, t){//codes
}
var delayHello = delay(hello, 1000);
delayHello(5, 6);

完成之后的代码:

var hello = function(a){console.log(a);
}
function delay(func, t){var fn = function(m){setTimeout(function(){func(m);},t)}return fn;
}
var delayHello = delay(hello, 1000);
delayHello(5);

其实最后这题很好解决,我当时其实也是这个想法(但是好像return出来的那个函数忘记加参数了),但是不知道为什么面试官说可不可以不用func(m)的方式调用,有没有其他的方法。

难道要用var f = func; f(m) 的方法?

不知道读者们有没有更好的办法...

富途网络科技有限公司2019秋招凉经相关推荐

  1. 终于,富途网络科技公司---面试

    富途网络科技公司-面试 4.7-5.24 笔试之后一个多月终于收到了面试通知 面试的是一个小姐姐,我提前十分钟就进面试界面等了,离3点越来越近,心也是越跳越快.但是面试开始不那么紧张了,氛围很轻松,小 ...

  2. 富途网络科技测试笔试题

    75分钟,不许切屏.烂网络,断了几次重连卡了自动交卷了... 这个岗位要求还是挺高的啊,还考单元测试,单元测试这种一般还是开发做的吧?我觉得很多公司都不会叫一个测试去做单元测试,怪... 自己再慢慢做 ...

  3. ABC科创之星上海集易网络科技有限公司亮相2019第五届中国(贵阳)大数据交易高峰论坛...

    5月27日,2019第五届中国(贵阳)大数据交易高峰论坛暨"一带一路"数据互联互通国际峰会召开.高峰论坛聚焦人工智能.大数据.云计算等新一代信息技术领域,"数据星河--A ...

  4. 商汤科技20年秋招智慧城市-数据运营工程师笔试题(2019.8.19)

    套题 商汤20年秋招智慧城市-数据运营工程师笔试题 题型 选择 * 20 + 问答 * 3 完成时间 60分钟 ❤️ 「更多数据分析真题」 <数据分析真题日刷 | 目录索引> ❤️ 「更多 ...

  5. 【计算机视觉算法岗面经】“吐血”整理:2019秋招面经

    相关链接:[计算机视觉算法岗面经]"吐血"整理:2019秋招资料 //2018/09/28 当初开始面试时就想着,以后我一定要写一篇面经,现在是来还愿的时候了. 首先,嗯,非常感谢 ...

  6. 别人的【计算机视觉算法岗面经】“吐血”整理:2019秋招面经

    别人的[计算机视觉算法岗面经]"吐血"整理:2019秋招面经 相关链接:[计算机视觉算法岗面经]"吐血"整理:2019秋招资料 //2018/09/28 当初开 ...

  7. 【计算机视觉算法岗面经】“吐血”整理:2019秋招资料

    相关链接:[计算机视觉算法岗面经]"吐血"整理:2019秋招面经 //2018/09/27 兵荒马乱.浩浩荡荡的秋招终于差不多要结束了. 秋招这段时间真是感慨很多,一时得意一时失意 ...

  8. 数据分析真题日刷 | 招商银行信用卡中心2019秋招IT笔试(数据挖掘方向第二批)

    进入「数据分析真题日刷」系列第10篇 ⬇️ 今日真题 招商银行信用卡中心2019秋招IT笔试(数据挖掘方向第二批) (来源:牛客网) 题型 客观题:单选30道 主观题:问答4道 完成时间 120分钟 ...

  9. 我的2019秋招记忆(完整版) | 掘金技术征文

    本文主要包括三部分内容,这三部分内容也是我在三个时期完成的. 第一部分是我在参加2018春招时所写,主要记录了我在研究生期间学习Java后端的心路历程. 第二部分内容是我参加2019秋季招聘过程中所作 ...

最新文章

  1. 解决WIN7与虚拟机CentOS的文件夹共享问题
  2. 曝光 Facebook 内部高效工作 PPT 指南
  3. [提示]使用普通用户,通过sealos安装ks,默认还是要通过root用户才能正常使用kubectl等命令
  4. DI 之Spring更多DI的知识
  5. Apache + Tomcat集群配置详解(1)
  6. 要想学好前端开发,这五点你一定要知道!
  7. golang日志服务器_golang 写日志到syslog
  8. SQL 通配符 、分页 功能的学习
  9. 想将有色彩的视频进行去色处理就这样做
  10. 3DEC离散元数值模拟技术与应用
  11. 怎么在知网上下载pdf格式的论文
  12. 发达国家“互联网+”面面观
  13. javaweb时间插件
  14. LINUX 无法输入密码 或者数字键不能使用
  15. Ubuntu20.04安装中国版firefox
  16. 前端不让浏览器自动填充账号密码
  17. Python 中的json模块dumps参数详解
  18. 数字图像处理之图像锐化算法
  19. 事业单位面试题 一(自我练习及答案)
  20. 计算机组成原理r3寄存器,计算机组成原理实验报告-寄存器的原理及操作

热门文章

  1. FluBot 移动恶意软件席卷欧洲,安卓苹果都不放过
  2. Flink CDC 实战
  3. 闪烁星空背景(html/css)
  4. MongoDB快还是MySQL快
  5. 你认为什么样的性格、能力和个人素质适合这个单片机行业
  6. Unity中实现苹果手机的Taptic震动
  7. 计算机组成原理加法器实验,计算机组成原理加法器实验
  8. 基于ARM开发板或linux工控机的远程操作的小结
  9. hdu2126 Buy the souvenirs 01背包变形 dp
  10. 计算机时代汉字发展例子,计算机时代的汉字文化情结