后端面试题总结

本文主要总结面试中经常被问及的问题。

先挖坑,再补充。

1、在分布式系统中,如何生成全局唯一id?

常见场景:高并发情况下,在保证并发性能的同时,如何生成全局唯一的订单号?

个人看法:

时间戳 + 随机数 +(用户id)+ 服务器机器码 + 进程id + 线程标识符

相关关键字:

UUID,snowflake算法

参考:

不重复订单号生成的方法

高并发下怎么生成唯一订单号

生成全局唯一ID的3个思路

2、使用HTTP的GET方法,如何保证GET的内容不被篡改?

个人看法:

我个人认为如果是比较完备的中间人攻击,即follow整个http的过程,可以截获cookie,网页的token等,那只要攻击者篡改get的参数后,同时执行你的JavaScript代码,即可同时修改签名相关的东西,包括cookie值,那服务器端最终也是无法确认get的内容是否被篡改的。

3、redis使用相关?何时使用缓存?主从复制过程?集群?

(1)热点数据放在redis,因为访问量大,可以减轻后端数据库的压力;

(2)数据访问成本比较大的,如需要进行排序操作的访问;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值