虾皮后端7.11一面面经(75min)

1.自我介绍
2.项目相关(10min )
3.key到了过期时间,redis中一定是不存在吗
4.redis缓存击穿,穿透
5.http和https的区别,https细节
6.tcp和udp的区别
7.tcp怎么保证可靠
8.mysql用的引擎
9.隔离级别,mysql默认隔离级别,怎么实现(MVCC+锁)
10.为什么索引使用b+树
11.范围查找底层,怎么走的索引   一个表学生id,课程id,分数。查找[90,95)分数段的人  (不会。。求大佬解答)
12.线程池,拒绝策略
13.类加载机制
14.类加载器
15.双亲委派模型,使用这个模型的原因
16.常见解决hash冲突的方法
17.手撕 合并两个有序链表
18.反问环节

很多细节没答出来,回答的时候会有追问,但面试官会引导,面试体验挺好的。虽然感觉挺凉的,但许愿一个二面吧!
#Shopee##校招##Java工程师##面经#
全部评论
那个sql走索引我的理解是:如果分数上有b树索引的话,首先是判断数据量会不会太大,大的话就全表扫描,否则查找第一个90分的的叶子节点,从叶子节点向后找到所有的符合条件叶子节点,中间缺页的话就根据页面置换下一页(因为b+树的数据是连续存储的),然后拿到所有的主键,再到主键索引里去找相应的记录,不知道是不是这样的
1 回复 分享
发布于 2021-07-12 10:40
请问base哪里
点赞 回复 分享
发布于 2021-07-11 22:17
select distinct student_id from student where score between 90 and 95
点赞 回复 分享
发布于 2021-07-12 01:44
b+树 key是score value是student ids
点赞 回复 分享
发布于 2021-07-12 02:09
key到了过期时间, redis 中一定是不存在吗 这个是存在?
点赞 回复 分享
发布于 2021-07-12 08:09
如果有分数索引的话,MySQL会找到第一个>=90的记录,然后沿着叶子结点遍历,直到遍历到的分数>=95,停止。
点赞 回复 分享
发布于 2021-07-12 09:02
老哥笔试做的咋样?编程题是全AC了吗
点赞 回复 分享
发布于 2021-07-12 09:22
不是当天流程没走到hr的都算跪了吗,我当天二面了,现在都没消息了😂
点赞 回复 分享
发布于 2021-07-12 13:01
如果不对分数建索引,就是扫全表过滤。如果单独对分数建索引,那就是从分数索引b+数查找分数为指定范围的叶节点,索引叶节点会存ID,拿到ID去ID索引树上查找记录,就是回表。至于b+怎么查找,其实跟bst类似,只不过b树是多插树,一个内部节点会包含多个有序键,需要遍历所有的键来确定下一层节点,过程差不多是这样
点赞 回复 分享
发布于 2021-07-13 22:29
挺简单的,算法都是easy😂
点赞 回复 分享
发布于 2021-07-13 22:30
深圳大概一面多长时间?
点赞 回复 分享
发布于 2021-07-13 23:21
楼主是什么项目?该怎么准备?明年该秋招,我却一头雾水…🤨
点赞 回复 分享
发布于 2021-07-17 19:53

相关推荐

不愿透露姓名的神秘牛友
2024-11-12 15:56
点赞 评论 收藏
分享
2024-11-12 16:34
已编辑
东北大学 Java
点赞 评论 收藏
分享
评论
13
130
分享
牛客网
牛客企业服务