2018-08-14 20:45:40 +08:00
|
|
|
|
|
|
|
|
|
# 牛客网拼多多面试题
|
|
|
|
|
|
|
|
|
|
1. 一亿个数找出top 100(手写)
|
2018-08-16 20:51:25 +08:00
|
|
|
|
|
|
|
|
|
先对数据进行分分割,然后构建一个长度为100的小顶堆。
|
|
|
|
|
|
2018-08-14 20:45:40 +08:00
|
|
|
|
2. 寻找结点的共同双亲
|
2018-08-16 20:51:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-14 20:45:40 +08:00
|
|
|
|
3. 一个数组 找出所有和为n的种类数目
|
2018-08-16 20:51:25 +08:00
|
|
|
|
|
|
|
|
|
> 先对数组进行排序,然后使用一前一后两个指针,慢慢找到和为n的种类数目
|
|
|
|
|
|
2018-08-14 20:45:40 +08:00
|
|
|
|
4. 给定两个稀疏矩阵 求乘法 要优化后的
|
|
|
|
|
|
|
|
|
|
|
2018-08-16 20:51:25 +08:00
|
|
|
|
作者:团子s1
|
|
|
|
|
链接:https://www.nowcoder.com/discuss/94066?type=2&order=0&pos=13&page=1
|
|
|
|
|
来源:牛客网
|
|
|
|
|
|
|
|
|
|
1. 在纸上写一个一个链表排序,并拍照发过去(实现了一个冒泡的链表排序,被鄙视之,嫌弃空间复杂度和时间复杂度)
|
|
|
|
|
|
|
|
|
|
链表排序,先转数组。。。
|
|
|
|
|
|
|
|
|
|
2. 在纸上写一个Binary Search Tree的建立函数
|
|
|
|
|
|
|
|
|
|
二叉搜索,二分法
|
|
|
|
|
|
|
|
|
|
3. 说一说事务的ACID,其中把事务的隔离性让我单独详细解释了一遍
|
|
|
|
|
|
|
|
|
|
数据库隔离:
|
|
|
|
|
|
|
|
|
|
事务隔离级别 | 脏读 | 不可重复读 | 幻读
|
|
|
|
|
---|---|---|---
|
|
|
|
|
读未提交(read-uncommitted) | 是 | 是 | 是
|
|
|
|
|
不可重复读(read-committed) | 否 | 是 | 是
|
|
|
|
|
可重复读(repeatable-read) | 否 | 否 | 是
|
|
|
|
|
串行化(serializable) | 否 | 否 | 否
|
|
|
|
|
|
|
|
|
|
4. 说一说幻影读
|
|
|
|
|
|
|
|
|
|
线程A读取表的内容,线程B刚好在线程A读取的内容作了新增或者修改的操作。
|
|
|
|
|
|
|
|
|
|
5. 说一说HashMap和concurrentHashMap
|
|
|
|
|
|
|
|
|
|
常见问题
|
|
|
|
|
|
|
|
|
|
6. 说一说如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值
|
|
|
|
|
|
|
|
|
|
链表法,再哈希法
|
|
|
|
|
|
|
|
|
|
7. 说一说jdk1.8中,对hashMap的优化
|
|
|
|
|
|
|
|
|
|
hash 链表长度大于8就改为红黑树
|
|
|
|
|
|
|
|
|
|
8. 说一说jdk1.8中对concurrentHashMap的优化
|
|
|
|
|
|
|
|
|
|
使用synchronized + cas,1.7 是用的Segment锁
|
|
|
|
|
|
2018-08-14 20:45:40 +08:00
|
|
|
|
1、手撕小顶堆
|
|
|
|
|
|
2018-08-16 20:51:25 +08:00
|
|
|
|
参考堆排序的内容
|
|
|
|
|
|
2018-08-14 20:45:40 +08:00
|
|
|
|
2、剑指offer题目
|
|
|
|
|
|
2018-08-16 20:51:25 +08:00
|
|
|
|
8.16 重新刷了一遍
|
2018-08-14 20:45:40 +08:00
|
|
|
|
|
|
|
|
|
拼多多:
|
|
|
|
|
逻辑思维,编程,项目经验,科研能力
|
|
|
|
|
java、python
|
|
|
|
|
|
|
|
|
|
推荐算法:
|
|
|
|
|
分析商品的品质对用户后续的影响,
|