算法
https://algodaily.com/companies/canva
实现dragdrop
实现ticker
canvas api画图
编写一个text-based贪吃蛇游戏。
1.一个基于文本的蛇
2.一些CSS
3.一个计时器。
2.一些CSS
3.一个计时器
关于JS和Async JS的一般问题。
2.一些简单的对象操作和承诺的使用(通过使用setTimeout来模拟一个假的后端)。
3. A text based snake
4. 一些基本的CSS
5. 一个带有复位按钮的计时器
Promise.resolve
var, const ,let的区别;异步和同步代码的执行原理;new Map, new Set, Promise, spread操作符,.size,Math这些API的使用
实现fetch、ajax
得到的数据中,求出shapes所包含的所有shapeId的color的平均值, ```javascript function fetch(id) {return new Promise(resolve => {
setTimeout(() => resolve({
designId: id,
shapes: [
{shapeId: 'basic-shape', color: { r: 55, g: 40, b: 255 }, children: []},{shapeId: 'duck', color: { r: 255, g: 255, b: 252 }, children: [{shapeId: 'duck-bill', color: { r: 255, g: 255, b: 255 }, children: []},{shapeId: 'duck-body', color: { r: 205, g: 255, b: 252 }, children: []},{shapeId: 'duck-legs', color: { r: 100, g: 255, b: 252 }, children: []},]},{shapeId: 'zigzag-polygon', color: { r: 205, g: 255, b: 252 }, children: []},{shapeId: 'fish', color: { r: 205, g: 255, b: 252 }, children: [{shapeId: 'fish-eyes', color: { r: 255, g: 255, b: 255 }, children: []},{shapeId: 'fish-fin', color: { r: 100, g: 66, b: 74 }, children: [{shapeId: 'fish-fin-part-1', color: { r: 93, g: 54, b: 55 }, children: []},{shapeId: 'fish-fin-part-2', color: { r: 33, g: 255, b: 255 }, children: []},{shapeId: 'fish-fin-part-3', color: { r: 128, g: 53, b: 255 }, children: []},]},{shapeId: 'fish-tail', color: { r: 255, g: 5, b: 255 }, children: []},]},{shapeId: 'duck', color: { r: 255, g: 255, b: 252 }, children: [{shapeId: 'duck-bill', color: { r: 255, g: 255, b: 255 }, children: []},{shapeId: 'duck-body', color: { r: 205, g: 255, b: 252 }, children: []},{shapeId: 'duck-legs', color: { r: 100, g: 255, b: 252 }, children: []},]},
]
}), Math.random() * 4000);
});
}
// output
// “Design: {id}, color: { r: 1, g: 2, b: 3 }” ```
软性:
面试官问了你的基本情况,比如你现在在做什么,为什么要投Canva, 同时给你介绍了一下Canva
