杭州唐古公司面试

前言

这里时杭州唐古的面试总结,比较偏向基础和antd,顺便记录下中软国际面试的几道题,中软基本都是选择题,不好纪录。

正文

画图介绍下w3c盒子模型 ?

a:http://www.cnblogs.com/cchyao/archive/2010/07/12/1775846.html

typeof输出几种数据类型?

a:我回答了5种 number string object boolean function 还有一种 underfined。

一些jq相关的基本语法考查

$(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); });

$("p").css("background-color","red");

1
2
3
4
5
6
7
8
9
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("Dolly Duck");
});

$("button").click(function(){ $("#w3s").attr("href","http://www.w3school.com.cn/jquery"); });

简单说明canvas和svg

SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

Canvas 与 SVG 的比较
下表列出了 canvas 与 SVG 之间的一些不同之处。
Canvas
依赖分辨率
不支持事件处理器
弱的文本渲染能力
能够以 .png 或 .jpg 格式保存结果图像
最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
不依赖分辨率
支持事件处理器
最适合带有大型渲染区域的应用程序(比如谷歌地图)
复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
不适合游戏应用

说说htmldom 和dom的异同

DOM 是 W3C的标准。
DOM 定义了访问 HTML 和 XML 文档的标准:
W3C DOM 标准被分为 3 个不同的部分:
核心 DOM - 针对任何结构化文档的标准模型
XML DOM - 针对 XML 文档的标准模型
HTML DOM - 针对 HTML 文档的标准模型

什么是 HTML DOM?
HTML DOM 是:
HTML 的标准对象模型
HTML 的标准编程接口
W3C 标准
HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。

说说audio标签

html5新增标签 拥有更强大的音频属性 控制音频的播放。
`


`

简述下什么是事件流

冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确

附:事件冒泡(的过程):事件从发生的目标(event.srcElement||event.target)开始,沿着文档逐层向上冒泡,到document为止。

DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。

传统绑定事件方式
在一个支持W3C DOM的浏览器中,像这样一般的绑定事件方式,是采用的事件冒泡方式。
ele.onclick = doSomething2

W3C模型
W3C模型是将两者进行中和,在W3C模型中,任何事件发生时,先从顶层开始进行事件捕获,直到事件触发到达了事件源元素。然后,再从事件源往上进行事件冒泡,直到到达document。

css中什么单位跟父元素相关,什么单位跟根元素相关。

em , rem

小结

这上面都是差不多能想起来的笔试题目了。
下面写一点面试的题目。(基于我antd项目)

  • 简述antd
  • 说出antd脚手架生成的各个文件的用处或者意义(问的比较深,还问及了包信息,webpackconfig里的内容。。。)
  • 现场修改项目内容
  • 现场对组件进行修改再利用
  • 说说react比较重要的方法
  • react-route工作机制,分发方法,渲染节点,URL的探查方法(反应改变)

面试必问题目

几天面试 发现出现率最高 又难的题目就是 闭包。 闭包几乎必问。其次是this 作用域 原型链也应该深入了解。
是要深入理解的一个知识点。

js基础相关选择题 和填空题 也要多加练习。
今天还面了一道js程序题。给你一个逻辑。你写出相对应的js程序和一道英语翻译。。。。( 论英语的重要性||)