10.17日面试总结

1 git rebase和merge的区别

rebase会把你的"mywork"分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把"mywork"分支更新 为最新的"origin"分支,最后把保存的这些补丁应用到"mywork"分支上,也就是先把提交cancel掉,把当前分支更新为最新的origin分支,再把这些 cancel掉的更新给加上,这样 就像当于是在远端最新的更新上继续工作。

2 数据库n+1查询问题

执行一次查询获得n条记录,由于关联查询引起的n次查询造成性能下降,

通过懒加载可以部分缓解1+n次查询带来的性能问题,

3 tinyint , smallint int bigint 的区别

tinyint   一个字节    0到255

smallint 两个字节    0到2的15次-1

int 四个字节,0到2的31次方-1

bigint 8个字节,0到2的63次方-1

4 char varchar区别

char固定长度,如果小于指定长度,则添加空格补齐,

varchar可变长度,效率char>varchar>text

Mysql 5中

非空CHAR的最大总长度是255【字节】;非空VARCHAR的最大总长度是65533【字节】。

可空CHAR的最大总长度是254【字节】;可空VARCHAR的最大总长度是65532【字节】。

原因:非空标记需要占据一个字节,VARCHAR超过255需要用2个字节标记字段长度,不超过255用1个字节标记字段长度.

在mysql 5.7.19中测试,字段编码用utf8-generalci,

varchar  最大 长度21843 可空(空的checkbox选中)时为21842 

char最大 长度255  可空也是255

5  

posted @ 2017-10-17 22:24  xqnq2007  阅读(100)  评论(0编辑  收藏  举报