好未来--面经2

一.项目

1.项目内容:简介

2.主要负责的部分。

可以不是实用的框架,但一定要突出亮点:逻辑结果和算法。
(1)mousedown和mousemove 和结构嵌套,和对应的对应的事件释放。
(2)div 冲突检测
(3)项目结构
main.js ---项目入口
dialogModule --- 使用工厂模式,产生dialog,dialog 是由9个div组成,每个div的功能,作用。
dragModule --- dialog拖动功能的实现。
resizeModule -- dialog大小的改变。
checkConflic --- 检测div是是否重叠。

二 性能优化

(1)结合自己的经历,以前把js放在头部,导致html页面加载缓慢。
改进:
(1)js放在页面尾部。
(2)css,js,html 中空格和回车会占用加载时间。对js,css,html进行压缩 ,打包
(3)图片在html中要预留出大小。
(4)减少DOM操作。
(5)减少http请求,合并文件,合并图片。
(6)使用异步加载。(简单说一下RequireJS)

三.对nodejs的认识。

瞎编中。。。。
(1)nodejs是js的运行平台。
(2)使用commonJS,每个js文件都是一个module模块,只有将方法或属性赋值给 exports 后,外部才可以调用,没有全局变量的概念。
(3)在nodejs环境下,js不仅可以写前端的交互功能,也可写服务器的功能,nodeJS中的express框架就封装了发送接收请求,和路由跳转,可以方便的建站和创建服务器。
(4)nodejs 对js 的回调使用Q 模块,实现了promise 类似封装?

四.react

(1)先说明自己的实际情况,没有用来做过项目,只是自学,写过小damo。
(2)虚拟树。将对DOM的操作放在虚拟树中,减少对DOM的操作。

五.给个项目的例子,你该如何设计?

一个聊天室,你可以查看有谁登陆,有人登陆时可以提醒她登录了,你可以使她强制退出。
实现:角色分为管理者和聊天者。
(1)使用 webSocket 将登陆提示主动发送给管理者。
(2)使用轮询技术,管理者会不断的访问服务器检查该人员是否登陆。(效率差)

六.如果遇到错误你是如何解决的

(1)登录错误:
答:查找http返回的错误码
(2)元素样式错误
答:右键,利用控制台查找错误。
(3)如果文件压缩了,你该如何找到错误的代码?
。。。。不知道










你可能感兴趣的:(好未来--面经2)