京东前端笔试题

前端笔试题
1,简述面向对象开发思想
将每一块的功能抽象为一个对象或者类,具体开发中关注每一个对象的功能实现
2,列举常见设计模式
单例模式 工厂模式
3,说一说对MVC的理解,试举例说明
Model view controller
4,简述JS闭包原理
不释放作用域
5,简述px和em的区别
px固定像素,em 不固定以外层为准
6,画出并解释Css盒子模型
标准盒模型。非标准盒模型 内padding 外margin 区别是否包含border
7,CSS3有哪些新特性
Canvas /border-radius/border-shadow.transform
8,简述CSS样式覆盖规则
!Important>id> 内敛>class>tag (具体可计算权重)
9,列出display的值,说明他们的作用
Block块/inlin-block行内块/line 行内/flex 布局
10,列出position的值,说明他们的作用
Relative/相对定位 /absolute/绝对定位/fixed/相对屏幕定位
11,display:none和visibility:hidden的区别
彻底隐藏元素不占位/隐藏不现实但是有位置
12,Cookie的优缺点,及其与storage 的区别
空间小,但是读写快,storage存储较大
13,简述jQuery的事件委托方法
Bind/on/live
14,jQuery获取的dom对象和原生的dom对象有何区别
jq对象是个数组,原声对象是dom对象
15,解释MVVM及其与mvc的区别
M-v-vm取消了中间层,开发者通过数据驱动试图,mvc则相反
16,简述vue的优点
容易上手/代码看起来干净/
17,vue组件之间的传值方式
父》子props 子》父 e m i t , 此 外 有 emit ,此外有 emit,bus ,复杂的用vuex
18,vuex是什么?怎么使用?哪种功能场景使用它
是vue的数据管理库
/state/getters/mutation/action/ 通过mutation去更改状态
在复杂的多层页面使用共同的数据时候需要用到。
19,Vue中引入组件的步骤
Import/注册组件/使用
20,简述react的优点
更加模块化 /单向数据流
21,简述react生命周期
Mounting:已插入真实 DOM
Updating:正在被重新渲染
Unmounting:移出真实 DOM
22,react组件之间的传值方式

23,简述webpack打包的过程

24,简述import xxx from 'xxx’与import {xxx} from 'xxx’的区别
引入方法与变量的区别
25,试用正则表达式去掉字符串中的所有空白

26,计算:3 | 4 = 3 & 4 =

27,写出下面的代码的输出结果(按输出顺序)
setTimeout(function() {console.log(1)}, 0);

new Promise(function(resolve, reject) {
console.log(2)
for (var i = 0; i < 10000; i++) {
if(i === 10) {console.log(10)}
i == 9999 && resolve();
}
console.log(3)
}).then(function() {
console.log(4)
})

console.log(5);

28,写一个算法,排除掉数组中的重复元素
var arr=[1,6,2,3, 4,5, 3, 8,6,7, 4,8,9];
function quchong(arr){
result = [],i,j,
for(i = 0; i < arr.length;; i++){
for(j = i + 1; j < len; j++){
if(arr[i] === arr[j]){
j = ++i;
}
}
result.push(arr[i]);
}
return result;
}

29,用Css实现一张图片自适应居中

.Imgbox {display:flex;
justify-content: center;
align-items: center;
}

img

30,【附加题】说一说对矩阵及向量的理解

31,【附加题】说一说对欧拉角与四元素的理解

32,【附加题】使用canvas绘制一个闭合的半圆

var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
ctx.beginPath();
ctx.arc(50,50,40,0,Math.PI);
ctx.moveTo(10,50);
ctx.lineTo(90,50);
ctx.stroke();

33,【附加题】计算一个任意多边形的面积,用js写出完整代码

34,【附加题】设计一个房子对象House,并添加属性rooms:Array,请自行设计其它必要属性,来实现房间面积计算的功能(请注意Room与House的关系)

35,【附加题】请思考,如果要从头做一套户型设计软件,你会怎样来构建这个系统?请基于你的构思,重新设计House对象。

猜你喜欢

转载自blog.csdn.net/weixin_45507013/article/details/114283160