途虎养车二面-JAVA工程师

1、自我介绍

2、手撕:有n个数,随机排列成一个最大的数,输出一个字符串,例:[3,10,24,25],输出:"3252410"

3、优化一个SQL语句:

SELECT \* FROM orders

WHERE user_id=123

AND status='PAID'

ORDER BY create_time DESC

LIMIT 10;

表中字段:id, user_id, status, amount, create_time

数据量:1亿条记录

4、联合索引为什么按user_id、status、create_time这个顺序呢,你怎么知道数据库引擎就是按这个顺序去检索的呢,对数据库索引底层是如何做的有了解吗

5、除了索引和select \*,还会有什么问题吗,你会怎么去解决呢

6、你说到了根据user_id分表,那具体用什么策略去分表呢

7、为什么选择user_id,而不用主键id,或者其他呢

8、给了一段代码,用来在秒杀场景中进行减库存操作,一个stock表示库存量,一个减库存的方法,在单服务器部署场景下,代码会有什么问题吗(没加锁),怎么解决呢

9、synchronized和ReentrantLock实现机制清楚吗

10、下面考虑分布式部署的情况,只加上面的锁,会有什么问题吗

11、那这里的取值操作需要加锁吗,还是说只有减库存需要加锁

12、如果让你设计一个分布式锁,你会考虑哪些方面

13、场景:设计一个类似微薄的点赞和取消点赞功能,需要设计一个api的接口实现这个功能,给出他的请求方法和URL,同时设计表,来存储点赞数据。主要实现三个业务功能:存储点赞信息,对这些信息做统计,让用户能看到自己的点赞

14、如果需要考虑一些特殊场景,保证这个接口的安全,比如用户身份鉴权,恶意的流量攻击等待

15、统计点赞数的逻辑如何实现,什么时候去统计比较合适

全部评论
一面多久发的二面
点赞 回复 分享
发布于 昨天 20:52 陕西
友友问一下是base哪啊
点赞 回复 分享
发布于 昨天 16:15 广东

相关推荐

一条小丑鱼:大厂的hc,实际hc数为基数,预发offer数=hc*2,预沟通offer数=hc*3,实际上11月也不一定会有机会,现在都不怎么招人,而且92还是少数,后面会有大量一堆实习的双非什么的去抢,仅剩的一点点hc,哎,太难了
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务