字节跳动一面

自我介绍

项目

登录的时候怎么保证安全性

高配版的方法,就是用户每次登录时,由服务端生成一个随机密钥对,将公钥返回给前端,私钥保存到服务器,并设置该密钥对的有效期为30分钟(有效时间大家随意),用户登录的时候,要求前端对用户的明文密码进行公钥加密后传给后端,然后后端用私钥对密码进行解密,然后与数据库保存的密码进行匹配,登录成功之后,服务器立即清除这个密钥对。这样即使攻击者拦截到了加密后的密码,并用这个加密后的密码再次伪造登录,也无法成功。

实现过程:

https://blog.csdn.net/weixin_42023666/article/details/89706659

https://blog.csdn.net/weixin_42023666/article/details/96338723

在项目中,Session是怎么用的,怎么实现的

1
httpSession.setAttribute("user",user.getId());

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

用户登录成功之后,将用户的id存储到Session中。可以在浏览器关闭之前,随时获取用户的id,如果关闭浏览器,则需要重新登录

在过滤器中使用到了session:用户访问页面的时候,判断Session中是否存在用户id,如果存在则证明用户已经登录可以访问页面,如果不存在,则进行过滤拦截。

退出登录的时候,将该用户的id从session中删除。

禁用员工的账号的时候,通过获取session中员工的账号进行更新,

3个线程abc,怎么交替输出

sql的一个简单查询语句,具体到innodb中怎么执行的,具体实现

事务的ACID特性中,持久化是怎么保证的

隔离性是什么,怎么实现的

redis怎么处理多线程

io多路复用是怎么实现的

虚拟内存是什么,为什么要用

sql(有姓名和分数,求前2到5名的分数)

很简单,但当时没写出来。。。

1
2
3
4
select name,score
from exam
order by score DESC
LIMIT 1,4

算法题(全排列)


字节跳动一面
http://example.com/2022/11/10/字节跳动一面/
作者
zlw
发布于
2022年11月10日
许可协议