最近一次面试的总结
1.char和varchar区别,varchar(100)可放多少汉字,多少英文?
char定长,所占空间固定,varchar变长,mysql5以上varchar(100)可存放100个汉字,一百个英文字母,按字符数存储
2.int(1)可存储长度?
柯村10位数字,一个符号位,因为括号中长度表示宽度,是当位不足时用来补齐0的,一般与填充0搭配使用,如果要考虑空间占用可按下图选择,排除符号位分别对应2的8,16,24,32,64次方,我觉得应该就是c++定义的那些int8之类类似吧(个人浅见。。。)
3.xss攻击及防御
美团这篇文章讲得非常详细,就不越俎代庖了
https://tech.meituan.com/2018/09/27/fe-security.html
4.联合索引相关问题,假如idx(a,b,c)哪些会走索引?
不含a的都不走索引,跟顺序无关
5.某一游戏需要对用户的战力值进行排行,排行榜按照战力值从高到低的顺序显示前100名用户(如果战力值相同,先达到对应战力值的用户排名靠前)。排行榜显示信息包括:角色名称、图像、区服、达到当前战力值的时间、战力值。游戏活跃用户总量亿级别。你如何设计满足上述要求的排行榜?(下面是我的回答。。。)
直接使用redis sorted set将战力值加上(1减去时间戳全变为小数)设置为排行,将用户id存入
并用另一个set以用户id为键用户战力值等信息存值即可
在显示时先取排行中用户id再取信息
这部分题目是我觉得有用的,做个记录,希望对大家有好处,还有一些题目,难度上可能差不多或者高点,但是我觉得没有记录的必要吧,毕竟这主要是用来加深自己记忆