美团一面凉经

算法题
反转链表
两个有序数组间相加和的Topk问题(时间复杂度要求O(KlogK)真的不会)

java基础

ArrayList LinkList的区别
hashmap在jdk1.7和1.8版本中有哪些改动
java中都有中怎样处理并发
说一说volatile关键字的底层原理
java都有哪些方式创建类的对象
线程池的工作原理
创建线程都有哪些方式
jdk中有哪些代理模式
说一说jvm工作流程
双亲委派机制
jmm内存模型
说一下java中的常见异常
内存溢出是什么情况

数据库
说一说什么是事务
怎样防止大事务,及处理办法
数据库的隔离级别
如何防止sql注入
mysql的存储引擎
mysql有哪些索引
说一说联合索引和覆盖索引
InnoDB和MyISAM的区别
mysql使用B+树索引而不使用B树或者hash索引

设计模式
说一说有哪些常用的设计模式
策略模式说一下

redis
redis的基本数据类型
为什么要使用redis
怎么样能确保缓存中数据和主存中数据的一致性
redis速度为什么这么快

spring
AOP IOC 的原理
看过Spring的源代码吗(了解很少)
全部评论
TOP k问题的nlogn代码框架,所有top k题目都适用,用的就是quick select叫快速选择,是快排的变种。 private int quickSort(int[] nums, int start, int end, int k) { if (start == end) { return nums[start]; } int pivot = nums[(start + end)/2]; int left = start; //左指针 int right = end; //右指针 while(left <= right) { while(left <= right && nums[left] < pivot) { left++; } while(left <= right && nums[right] > pivot) { right--; } if(left <= right) { int temp = nums[left]; nums[left] = nums[right]; nums[right] = temp; left++; right--; } } if(start + k - 1 <= right) { return quickSort(nums, start, right, k); } if(start + k - 1 >= left) { return quickSort(nums, left, end, k - left + start); } return nums[right + 1]; }
2 回复 分享
发布于 2021-04-10 23:33
请问这是社招还是校招的问题呀
点赞 回复 分享
发布于 2021-04-13 13:28

相关推荐

04-12 13:42
江南大学 C++
点赞 评论 收藏
分享
完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
评论
5
1
分享

创作者周榜

更多
牛客网
牛客企业服务