美团一面凉经

算法题
反转链表
两个有序数组间相加和的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

相关推荐

01-11 02:09
已编辑
华中师范大学 golang
京京洪洪学java:如果坚定转Java就要先做好暑期结果可能没那么好的准备,大厂也有做go的,也有接受内部切换技术栈的,go怎么就不行了呢?,ACM+华师肯定能接到一些大厂面试的,acm铜的基础可以让你比较轻松地应对中大厂的手撕,就是八股和项目要下硬功夫,至于找不到go项目?github上一直刷啊,跟刷b站主页一样,那么多好的go开源项目,怎么会找不到呢?刷到想学感兴趣的用ai吃透,试着改进或者吸收作为自己的项目,另一个选择就是考研了。
点赞 评论 收藏
分享
评论
5
1
分享

创作者周榜

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