搜狐电面

2019-04-13 16:23发布

二叉平衡树

http://blog.csdn.net/waltonhuang/article/details/51966130

思路

最简单的还是修改一下depth的定义,不平衡时返回-1。

边缘条件

root == NULL的时候返回0。

时间复杂度,空间复杂度

由于要遍历所有节点,时间复杂度为O(n)。
递归的空间复杂度为O(n)。

遍历顺序

采用后序遍历。

MySQL

聚簇索引(Cluster Index), 非聚簇索引(Non-Cluster Index)

http://bbs.chinaunix.net/thread-3639012-1-1.html
http://kb.cnblogs.com/page/44125/
聚簇索引的顺序就是物理存储的顺序,因此聚簇索引只有一个。聚簇索引是一种数据的存储方式。 非聚簇索引可以有多个。 InnoDB支持聚簇索引。使用B-tree来实现聚簇索引。叶子页存放行的全部信息。节点页只包含索引列。 非聚簇索引(二级索引)需要两级索引查找。叶子页存的不是行的信息,而是行的主键,查找的时候先找到主键,再拿着这个主键到聚簇索引去查找行信息。

主键,非主键

主键是聚簇索引,非主键是非聚簇索引。

隔离机制,加锁机制

Innodb中的事务隔离级别和锁的关系 http://blog.jobbole.com/100349/?from=timeline&isappinstalled=0 http://blog.csdn.net/waltonhuang/article/details/52105440

Python

Tornado

异步非阻塞

用了MySQLdb,阻塞?

GIL锁


HTTP协议

301

代表永久性转移(Permanently Moved)

302

代表暂时性转移(Temporarily Moved )

401

未经授权(Unauthorized)

403

禁止访问(Forbidden)