绿盟一面

来源:互联网 发布:动态表情制作软件 编辑:程序博客网 时间:2024/03/29 18:04

1.谈谈cookie,session和localStorage的区别?
共同点:都是保存在浏览器端,且同源的。

区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递;cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。

而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。

作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。
2.谈谈数据库索引?
假设我们有一个数据库表employee
这个表有三个字段分别是employee_Name.employee_Age和employee_Address
假设employee有上千行数据
假如我们要在表中查找出所有名字是”Jesus”的雇员信息。
可以使用下面的查询语句:
select * from employee
where employee_name=”Jesus”
这意味着数据库不得不检查上千行数据才能找到所有名字为jesus的雇员,这就是所谓的全表扫描。
这里就用到了数据库索引。
那么数据库索引是怎样来提高性能的?
使用索引的全部意义就是通过缩小一张表中需要查询的记录/行的数目来加快搜索的速度。
那么什么是索引呢?
一个索引是存储的表中一个 特定列的值数据结构。索引是在表的列上创建。所以,要记住的关键点是索引包含一个表中列的值,并且这些值存储在一个数据结构中。
索引是一个数据结构。
那么数据库是怎么知道什么时候使用索引?
当这个sql运行时,数据库会检查在查询的列上是否有索引。
如何强制数据库使用索引?
create index name_index
on employee(employee_name)
如何创建联合索引
Create index name_index
on employee (employee_name,employee_age)
那么使用数据库索引会有什么代价?
其一,索引会占用空间-你的表越大,索引占用的空间越大。其二,性能损失,当你在表中添加.删除或者更新行数据的时候,再索引中也会有相同的操作。

3.如何实现分页?
前端js实现:
表格中的数据是从后端传过来的,但是在数据量过大的时候分页该如何实现(只需要上一页下一页和页码就可以)
4.分页的数据是一次性请求还是多次请求?
当JSon数据非常多的时候,如何在前端实现分页?

5.为什么使用vue?
vue.js能让基于网页的前端应用程序开发起来更方便。
因为vue.js有声明式,响应式的数据绑定,与组件化的开发,并且使用了虚拟dom技术。
响应式的数据绑定:vue.js会自动对页面中某些数据的变化做出响应。
组件化开发
在面向对象编程中,我们可以使用面向对象的思想将各种模块打包成类或者把一个大的业务模块分成更多更小的几个类。在面向过程编程中,我们也可以把一些大功能拆分成许多函数,然后分配给不同的人开发。
6.项目中遇到的问题,怎么解决?
8.如果你把这个项目再做一遍,你会怎么写?
9.用node实现api?