算法题(20min)
二选一
a.(做出来了)
给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。
返回可以使最终数组和为目标数 S 的所有添加符号的方法数。
样例1
●输入
nums: [1, 1, 1, 1, 1], S: 3
●输出
5
●说明
-1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 一共有5种方法让最终目标和为3。
b.
给定最长0xff字节的16进制数据,如unsigned char *hex = "95AFF9F703A8AFCBC027AD7818237234987234987",
输出为:13673024484420802261724447849117110498046177921415。 要求以10进制格式打印出该数值。
项目(15min)
1.先介绍项目(黑马点评)
2.说下秒杀如何实现(优化的整个过程)
3.lua脚本中控制哪些操作形成原子(具体逻辑)
4.一人一单如何判断
判断资格时,若果用户下单但是未支付怎么办。
此时用户再下一单怎么判断是否有资格
5.为什么lua脚本能解决原子性,rpc不行呢
6.假设用rpc能否做到一样的效果
7.rpc实现原子性跟lua脚本实现原子性的区别
8.解决缓存穿透是干什么
9.mysql和redis查询的速度有多大区别
10.为什么他们会有区别
11.redis的跳表是怎样的
反问
1.几面(技术四五面)
2.评价
redis的理解不深,lua脚本的优势在哪里,为什么要用lua脚本,不用lua脚本行不行,redis的原理是怎样的,redis的同步是怎样的,redis的数据结构是怎样的。
个人评价
面试体验极差,纯压力面,面完秒挂。