1 n个台阶,每次3或5步,有多少种走法
def getsteps(n): if n<3: return 0 if n==3 or n==5: return 1 return getsteps(n-3)+getsteps(n-5)
2 mysql myISAM和innodb区别:
myisam 不支持事务,强调性能,innodb提供事务支持及外键和行级锁等高级数据库功能。
上述三种锁的特性可大致归纳如下:
1) 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
2) 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
3) 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
3 http和https区别,https是如何保证安全的?
http://www.jianshu.com/p/be7a20cc8468
首先,HTTPS并不是这种加密技术的正式名称,HTTPS代表的是“在TLS/SSL上实现的HTTP协议”,因此实现加密的其实是位于HTTP下面的TLS/SSL层。
我们看看TLS/SSL所实现的几个主要机制:
1. 证书:通过第三方权威证书颁发机构(如VeriSign)验证和担保网站的身份,防止他人伪造网站身份与不知情的用户建立加密连接。
2. 密钥交换:通过公钥(非对称)加密在网站服务器和用户之间协商生成一个共同的会话密钥。
3. 会话加密:通过机制(2)协商的会话密钥,用对称加密算法对会话的内容进行加密。
4. 消息校验:通过消息校验算法来防止加密信息在传输过程中被篡改。
4 mysql如何优化:
http://database.51cto.com/art/201505/476659.htm
1 开启查询缓存
当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。
2 EXPLAIN 你的 SELECT 查询
3 当只要一行数据时使用LIMIT 1
4 为搜索字段建索引
5 在Join表的时候使用相当类型的例,并将其索引
6. 千万不要 ORDER BY RAND()
7避免select *
8 为每张表设置一个ID
9 使用ENUM而不是VARCHAR
。
五 如何查询某个服务访问最多的IP