### 个人简介
姓名___________电话_____________(电话面试)
1、你的github链接
2、你的博客链接或者技术文章链接
3、平时都看过哪些技术类书籍,请推荐几本觉得比较好的书籍?
1. javascript 高级程序设计
2. java编程思想
3. 领域驱动设计
4. CSS 揭秘
5. ECMAScript 6 入门
###一、基础知识
1、项目中使用过哪些优化方法
1. 对一些文件做合理的本地缓存,减少资源的重复请求
2、写代码使用正则表达式验证邮箱格式 。
3、如何判断某变量是否为数组数据类型。
1. Object.prototype.toString.call(arr) === '[object Array]';
2. arr instanceof Array
3 Array.isArray(arr) // 这个要ES5后才支持
4、简述常见的http状态码,列举5种。
200 请求成功
204 请求成功,但没有响应数据
302 请求重定向
304 请求的资源没有改变
404 请求资源的不存在
405 请求方法不匹配,服务端不支持
500 服务端错误
5、简述一下src与href的区别。
6、挑出其中块级元素
```
a、b、span、dl、dt、img、input、strong、h1-h6、blockquote、select、label、em、button、textarea
```
7、请编写一段JavaScript脚本生成下面这段DOM结构。要求:使用标准的DOM方法或属性。
```
<div id=”name”>
<p class=”slogan”>真传X</p>
</div>
```
8、为什么会有跨域?解决方式?
9、CSS中margin和padding的区别
###二、 基础算法
1、写代码消除 数组 【6 8 9 9 12 13 14 1 3】中重复的元素。
2、二分查找的时间复杂度是多少,请写出推导过程。(选做)
总共有n个元素,
渐渐跟下去就是n,n/2,n/4,....n/2^k,其中k就是循环的次数
由于你n/2^k取整后>=1
即令n/2^k=1
可得k=log2n,(是以2为底,n的对数)
所以时间复杂度可以表示O()=O(logn)
3、如果要构建一个树形结构(dom树),那么基本节点应该如何定义,写出伪码即可。(选做)
###三、基础设计模式
1、平时工作中用到哪些设计模式?
2、简述mvc mvvm 设计模式?
### 四、工作思考
1、工作中使用过哪些框架(angular/vue/react)?简述其中一个框架的特点
2、目前自己在工作中的瓶颈是什么?
3、你的长期目标是什么?
4、你的短期目标是什么?
5、你的短期目标是怎么帮助长期目标更快达成的?
网友评论