Git 和 redis 面试题
Git 相关面试题目
如果代码出现bug,你们是如何解决的?
创建一个bug分支,然后进行bug处理,处理完毕后,合并到review分支,组长review成功后才能够合并到master
合并完成之后删除bug分支
回到dev分支继续开发。
git rebase的作用?
场景:在公司开发忘记提交到github托管,在家里又继续开发新的功能,
然后到公司昨天的代码跟你的新功能合并的时候可以用git fecth ---> git rebase
那么他的提交记录就不会出现分叉,保持了提交记录的整洁.
谁来做代码review?
做代码review
-组长
-带你的人
如何做代码的review?
创建review分支,然后再创建自己的个人分支,当你完成自己的业务逻辑的时候,
再合并到review分支.给组长做代码的review
使用的github 还是gitlab?
用的是github,因为公司比较小,所以没有自己搭建gitlab,
但是用github的时候代码一定要用保密的,9美元建立一个仓库
支付宝支付
(不关Git和redis)
-加密方式:RSA
-公钥私钥:
-商户私钥
-支付宝公钥
-支付成功后,断电宕机,服务端需要返回一个Httpresponse('success')
才算支付成功,如果没有返回支付宝会在一天能不断的提交请求直到你的服务器重启.
余额的计算精度是保留小数后两位.
redis相关的面试题
你理解的redis?
- redis是操作内存的软件,它是单进程单线程的,因为操作的对象是内存所以速度比较快
- redis能够用AOF,RDB做持久化的操作
-
- 第一种持久化是每写一条数据就进行保存,这样种会对数据库的压力比较大,但是内存存放的数据比较全
- 第二种是每隔一段时间才进行保存到数据库,数据库压力比较小,但是宕机的时候会丢失一部分的数据
- 支持五大数据类型,相比其他的缓存软件有更丰富的数据类型
- 哈希
- 列表
- 有序列表
- 字符串
- 集合
是否使用连接池,怎么样使用?
本质: 维护一个已经和服务端连接成功的socket。
以后再次发送数据时,直接获取一个socket,直接send数据。
使用的连接池一定是一个单例模式.
如果redis的k4有一千万条数据,请打印所有的数据?
# 方式一: #result =conn.hgetall('k4') #print(result) # 不可取 从redis取到数据之后,服务器内存无法承受,爆栈 #ret=conn.hscan_iter('k4',count=100) #一次取100个数据,循环完了后再去取 # ret 是一个生成器 #for item in ret: #print(item)