1.列举常见的关系型数据库和非关系型都有那些?
关系型:sqllite,db2,oracle,access,sql server MySQL
非关系型:MangoDB,redisjavascript
2.MySQL常见数据库引擎及比较?
InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。若是须要对事务的完整性要求比较高(好比银行),
要求实现并发控制(好比售票),那选择InnoDB有很大的优点。若是须要频繁的更新、删除操做的数据库,
也能够选择InnoDB,由于支持事务的提交(commit)和回滚(rollback)。 前端
MyISAM:插入数据快,空间和内存使用比较低。若是表主要是用于插入新记录和读出记录,
那么选择MyISAM能实现处理高效率。若是应用的完整性、并发性要求比 较低,也可使用。java
MEMORY:全部的数据都在内存中,数据的处理速度快,可是安全性不高。若是须要很快的读写速度,
对数据的安全性要求较低,能够选择MEMOEY。它对表的大小有要求,不能创建太大的表。因此,这类数据库只使用在相对较小的数据库表。python
3.什么是事务?MySQL如何支持事务?
事务由一个或多个sql语句组成一个总体,要么彻底地执行,要么彻底地不执行。四大特色:原子性、一致性、隔离性和持久性。
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
4.MySQL索引种类
普通索引、惟一索引、主键索引、组合索引和全文索引
5.主键和外键的区别?
主键是用于惟一标识数据库表中一行数据的。
外键是创建与表与表以前的联系,方便程序的编写
6.乐观锁和悲观锁
悲观锁, 就是很悲观,每次去拿数据的时候都认为别人会修改,
因此每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。
传统的关系型数据库里边就用到了不少这种锁机制,
好比行锁,表锁等,读锁,写锁等,都是在作操做以前先上锁。
乐观锁,就是很乐观,每次去拿数据的时候都认为别人不会修改,
因此不会上锁,可是在更新的时候会判断一下在此期间别人有没有去更新这个数据,
可使用版本号等机制,乐观锁适用于多读的应用类型,这样能够提升吞吐量
web
------------------
前端和框架:
1.HTTP协议
HTTP协议(HyperText Transfer Protocol,超文本传输协议),
是一种发布和接收 HTML页面的方法。
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),
简单讲是HTTP的安全版,在HTTP下加入SSL层。
SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,
在传输层对网络链接进行加密,保障在Internet上数据传输的安全。
2.简述jsonp及实现原理?
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。
原理:redis
在同源策略下,在某个服务器下的页面是没法获取到该服务器之外的数据的,
但img、iframe、script等标签是个例外,这些标签能够经过src属性请求到其余服务器上的数据。
而JSONP就是经过script节点src调用跨域的请求。
当咱们经过JSONP模式请求跨域资源时,服务器返回给客户端一段javascript代码,
这段javascript代码自动调用客户端回调函数。
3.django、flask、tornado框架的比较?
Flask 扩展丰富,冗余度小,可自由选择组合各类插件,性能优越,相比其余web框架十分轻量级,其优雅的
设计哲学易于学习掌握,小型项目快速开发,大型项目毫无压力,FLask灵活开发,python高手基本都会喜欢flasksql
Django 是重量级全栈型web框架,虽然功能强大,但冗余度高,自带ORM和模板引擎,灵活和自由度不够高
开发小型项目时显得过于臃肿与庞大数据库
Tornado 是一个强大的、支持协程、高并发且可扩展的web服务器,发布于2009年9月,应用于FriendFeed
Facebook等社交网站。Tornado的强项在于能够利用他的异步协程机制开发高并发的服务器系统
4.什么是wsgi?
(1)、RESTful只是设计风格而不是标准,而WSGI(Web Server Gateway Interface,Web 服务器网关接口)
则是Python语言中所定义的Web服务器和Web应用程序之间或框架之间的通用接口标准。
(2)、WSGI就是一座桥梁,桥梁的一端称为服务端或网关端,另外一端称为应用端或者框架端,WSGI的做用就是在协议之间进行转化。
WSGI将Web组件分红了三类:Web 服务器(WSGI Server)、Web中间件(WSGI Middleware)与Web应用程序(WSGI Application)。
django