Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 726a509

Browse files
提交新信息
1 parent bd23d44 commit 726a509

File tree

7 files changed

+177
-0
lines changed

7 files changed

+177
-0
lines changed

‎README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
## 项目准备
2020

21+
- [自我介绍](docs/interview/自我介绍和项目介绍.md)
22+
2123
- [项目准备知识](docs/project/秒杀项目总结.md)
2224

2325
## 面试知识点

‎docs/dataStructures-algorithms/算法面试真题汇总.md‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,45 @@
1+
2+
#### 算法题
3+
4+
作者:office多多
5+
链接:[https://www.nowcoder.com/discuss/374134?type=0&order=0&pos=67&page=1](https://www.nowcoder.com/discuss/374134?type=0&order=0&pos=67&page=1)
6+
7+
1. 写代码,类似高考成绩,一个表中有很多数据(无序的),给你一个成绩,查出在表中的排名
8+
2. 找出这两个链表是否有相交的点
9+
3. 判断链表有没有环,环起点在哪儿。
10+
4. 手撕topk,时间复杂度是多少。
11+
5. 写个算法,实现抢红包随机获取金额的过程[参考](https://blog.csdn.net/bjweimengshu/article/details/80045958)
12+
6. 链表反转
13+
7. 两数之和(leetcode第一题〜、〜)
14+
8. 判断一个字符串是否为另一个字符串子串(暴力写的)
15+
9. 股票最大利润
16+
10. 实现单链表前后交叉排序:1,2,3,4,5,6 变成 1,4,2,5,3,6
17+
11. 因式分解
18+
12. 有序二叉树,一种遍历方法使之有序,中序遍历。
19+
13. 非递归实现先序遍历
20+
14. 找无序数组中第k个数(一开始说用堆实现、后来我又想着用快排的partation实现)
21+
15. 算法题:从字符串S变到T,插入消耗2、删除消耗2、替换消耗3、求最小消耗
22+
16. 算法题:两个栈实现一个队列(实现push、pop、count三个函数)(简单)
23+
17. strcpy的实现
24+
18. 给出两个链表,找出相同的链接。a->b->c->d->f、b1->a1->c1->d->f
25+
19. 二叉树的遍历方式,手写先序遍历(参考代码:[https://www.cnblogs.com/anzhengyu/p/11083568.html](https://www.cnblogs.com/anzhengyu/p/11083568.html))
26+
20. 两个字符串的最长公共子串(参考代码:[https://www.cnblogs.com/anzhengyu/p/11166708.html](https://www.cnblogs.com/anzhengyu/p/11166708.html))
27+
21. 查找二叉树最大深度
28+
22. 二叉树遍历
29+
23. 写代码判断IP地址([https://blog.csdn.net/u014259820/article/details/78833196?utm_source=distribute.pc_relevant.none-task](https://blog.csdn.net/u014259820/article/details/78833196?utm_source=distribute.pc_relevant.none-task))
30+
24. 在字符串中找出不重复字符的个数
31+
25. 找出两个只出现一次的数字,其余的数字都出现了两次
32+
26. 给n元钱,m个人,写个随机分钱的函数
33+
27. 两个栈实现一个队列
34+
28. 给个数组求连续子序列最大和
35+
29. 写一个程序;给一个数组,a【2 -2 3 3 6 -9 7】输出a【2 -2 3 -9 3 6 7】输入正负数都有数组,输出数组正负交替出现,多的那一类都放在后面;
36+
30. 给定一个数组 输出和为k的两个数的位置 a【2 7 3 5 11】k=9 输出 0 1 [https://leetcode-cn.com/problems/two-sum/solution/liang-shu-zhi-he-by-leetcode-2/](https://leetcode-cn.com/problems/two-sum/solution/liang-shu-zhi-he-by-leetcode-2/)
37+
31. 算法题:实现两个String字符串寻找最大公共子字符串
38+
32. 让写一个洗牌的函数,写完问我为啥那样写、再写一个打印牌的函数,问我洗完牌之后345不连在一起的概率 如何模拟一副扑克牌的洗牌过程
39+
33. 查找字符串中重复的子串,并输出重复的次数 [https://blog.csdn.net/zouheliang/article/details/80649584](https://blog.csdn.net/zouheliang/article/details/80649584)
40+
34. 判断是否为平衡二叉树
41+
35. 找出一个字符串的最长不重复子串([https://www.cnblogs.com/linghu-java/p/9037262.html](https://www.cnblogs.com/linghu-java/p/9037262.html))
42+
143
# 阿里
244

345
#### 链表

‎docs/dataStructures-algorithms/算法题目难点题目总结.md‎

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,51 @@
1+
2+
3+
4+
#### 智力题
5+
6+
作者:office多多
7+
链接:[https://www.nowcoder.com/discuss/374134?type=0&order=0&pos=67&page=1](https://www.nowcoder.com/discuss/374134?type=0&order=0&pos=67&page=1)
8+
9+
1. 10个堆,每堆10个苹果,其中9个堆里苹果是50g/个,一个堆里苹果是40g/个,有一杆秤只能称一次,所称重量为x,求40g苹果所在堆。
10+
11+
* 将堆编码为1-10;然后每堆拿出k个,最后少了k*10克,则知道是第几堆的苹果。
12+
2. 5L和6L水桶,得到三升水。
13+
14+
* 1、6L的水桶装满水,倒满5L的桶。 2、将5L桶里的水倒了,将6L桶里剩余的1L放入5L桶。 3、6L的桶装满水,倒满5L桶里,6L桶里还剩2L(6-4)水。 4、 将5L桶里的水倒了,将6L桶里剩余的2L水放入5L桶里。 5、将6L桶装满水,倒满5L的桶,这时6L的桶里还剩3L水。
15+
3. 两个一小时蚊香怎么得到15分钟的记时
16+
17+
* 同时点燃AB两只蚊香,其中A蚊香点燃两头,等A蚊香烧完后(30分钟),点燃B蚊香的另一头。
18+
4. 4分钟沙漏和7分钟沙漏怎么漏出9分钟
19+
20+
* 4分钟的和7分钟的同时开始,4分钟的完后又倒过来开始。7分钟的沙漏完后立马倒过来,(4分钟的沙漏还剩1分钟)。等4分钟的沙漏完后,将7分钟的又立马倒过来,等漏完就是9分钟。
21+
5. 八个球,其中有一个是其余球重量的1.5倍,有什么方案找出来
22+
23+
* 3次。 AB两边,一边放4个,如果A重,则把B端的去了,A端的4个分成AB端一边两个。在把轻的那端去了,重的那端的2个分成一边一个,重的那个球就找出来了。
24+
6. 桌上100个球,每次可以拿一到五个, 现在我们两个人依次拿球,你先拿,使用怎样的拿球策略,可以使你最终能拿到最后一个球?
25+
26+
* 第一次拿四个,后来每个你拿球的时候只要保证剩下的球是6的倍数就行了如果他拿n个球 ,你就拿6-n个球。
27+
7. 有10个石头,每人每次可以拿1-2个,轮流拿,最后一个拿的人算输,有什么必赢的方案。
28+
29+
* 对方先拿、保证两个人每一轮回拿满3个(对方拿一个,我拿两个、对方拿两个,我拿一个)。
30+
8. 一亿数据获取前1000个最大值 [https://zhuanlan.zhihu.com/p/73233544](https://zhuanlan.zhihu.com/p/73233544)
31+
32+
* 把一亿个数字的前100个 首先放入数组。 然后把最小值放在ary[0]。然后再循环100到一亿之间的。 每次循环判断当前数字是否大于ary[0]当大于时,当前数字放入ary[0] 并再次重构数组最小值进入ary[0]以此类推 。当循环完这一亿个数字后。 最大的前100个数字就出来了。
33+
9. [经典智力题:飞机加油问题](https://blog.csdn.net/qins_superlover/article/details/21158269)
34+
35+
36+
### 左神总结
37+
38+
- [左神直通BAT算法笔记(基础篇)-上](https://juejin.im/post/5c6b9c696fb9a049ed316ef9)
39+
- [左神直通BAT算法笔记(基础篇)-下](https://juejin.im/post/5c6b9d0a6fb9a04a05403cbc)
40+
- [左神直通BAT算法(进阶篇)-上](https://juejin.im/post/5c6b9d4c6fb9a04a05403cbe)
41+
- [左神直通BAT算法(进阶篇)-下](https://juejin.im/post/5c6b9ea76fb9a04a05403cc1)
42+
- [剑指offer解析-上(Java实现)](https://juejin.im/post/5c6b9a976fb9a049d2369f2f)
43+
- [剑指offer解析-下(Java实现)](https://juejin.im/post/5c6b9bad518825266c3f064f)
44+
45+
### 红黑树
46+
47+
- [原来手写红黑树可以这么简单](https://juejin.im/post/5de72ae66fb9a016214cae91)
48+
149
### 链表
250

351
#### 1 将单向链表按某值划分成左边小、中间相等、右边大的形式(p59)

‎docs/interview-experience/面试常见问题分类汇总.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Java基础
22

3+
#### hashmap的jdk1.7和jdk1.8区别
4+
5+
- https://juejin.im/post/5aa5d8d26fb9a028d2079264
6+
7+
- https://blog.csdn.net/qq_36520235/article/details/82417949
8+
9+
#### concurrenthashmap的jdk1.7和jdk1.8区别
10+
11+
- [面试题](https://juejin.im/post/5df8d7346fb9a015ff64eaf9)
12+
13+
314
#### Java I/O 底层细节,注意是底层细节,而不是怎么用
415

516
可以从Java IO底层、JavaIO模型(阻塞、异步等)

‎docs/interview/已投公司情况.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
|公司|官网链接|牛客链接|投递情况|
2+
|-----|-----|-----|-----|
3+
|美团| https://campus.meituan.com/resume-edit | | 已投 |
4+
|快手| | 来自内推军 | 已投 |
5+
|蘑菇街|http://job.mogujie.com/#/candidate/perfectInfo | | 已投 |
6+
|远景|https://campus.envisioncn.com/ | | 已投 |
7+
|阿里钉钉| |https://www.nowcoder.com/discuss/368915?type=0&order=0&pos=25&page=3| |
8+
|阿里新零售| |https://www.nowcoder.com/discuss/374171?type=0&order=0&pos=35&page=1| |
9+
|深信服| |https://www.nowcoder.com/discuss/369399?type=0&order=0&pos=40&page=6| |
10+
|CVTE| |https://www.nowcoder.com/discuss/368463?type=0&order=0&pos=87&page=3| 已投 |
11+
|奇安信| |https://www.nowcoder.com/discuss/365961?type=0&order=0&pos=102&page=6| 已投 |
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
### 自我介绍
2+
3+
面试官,您好,我叫欧阳思海,我是中国地质大学(武汉)21届应届毕业生,在校的专业是计算机技术。
4+
5+
研究生加入实验室后,在研一这一年中,做了一个外委公司电厂项目,然后在去年的5月份到9月份,去了中国空间技术研究院钱学森实验室实习了几个月,由于那里做的项目不是Java的,所以在简历中没有体现。
6+
7+
从大学开始学习计算机专业之后,对技术挺有热情的,喜欢记录自己学过的技术,分享技术,在CSDN博客平台,通过这几年的时间,陆陆续续写了400多篇博客了,同时也获得了CSDN博客专家的称号,博客访问量有150W了。
8+
9+
最后,我通过这几年的学习,对于计算机的基础知识掌握的还可以,对于计算机网络,Java相关的技术,数据库等方面有深入学习,我也特别想去贵公司,自己也特别适合这个岗位,谢谢您给我这个机会!
10+
11+
### 项目一介绍
12+
13+
这个项目项目基于SSM框架开发,采用前后端分离,主要为电厂开发一套人员管理及人事审批的OA系统,实现电厂人员管理、电源审批、栈道审批、工器具审批等功能。
14+
15+
在项目中除了用到了ssm技术之外,还有activiti工作流框架,数据库使用的是mysql,缓存框架使用的是redis,权限控制框架使用的是shiro。
16+
17+
在这个项目中我担任的角色是项目负责人,负责整个项目的管理工作,同时,我还负责了以下几块工作:
18+
1、搭建项目环境
19+
2、实现用户的单点登录系统SSO
20+
3、项目的权限控制
21+
4、开发电源管理和栈道管理模块
22+
5、系统性能调优
23+
24+
25+
### 项目二介绍
26+
27+
项目基于SSM框架开发的综合性电商网站,实现会员商城浏览下单、商家入驻商城出售商品、管理员后台管理商品、订单、搜索及会员等功能,同时,系统可以发起抢购活动功能。
28+
29+
在项目中用到的技术主要包括ssm框架,数据库用的是mysql,缓存用的是redis,消息队列用的是rocketMQ,微服务分布式项目用到了dubbo框架,对于处理分布式的一些问题,用到了zookeeper框架。
30+
31+
在这个项目中我主要责任是
32+
1、搭建dubbo的分布式的项目(怎么分层)
33+
2、利用redis提供缓存服务
34+
3、利用RocketMQ消息队列做消息处理
35+
4、对数据库性能进行调优
36+
5、开发抢购活动功能模块(业务需求)

‎docs/project/秒杀项目总结.md‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,33 @@ Redis缓存服务
205205

206206
- [MySQL高频面试题](https://mp.weixin.qq.com/s/KFCkvfF84l6Eu43CH_TmXA)
207207
- [MySQL查询优化过程](https://mp.weixin.qq.com/s/jtuLb8uAIHJNvNpwcIZfpA)
208+
209+
>生成数据工具:mockaroo
210+
211+
1、如果有子查询,改为连接语句
212+
2、在where条件建立索引:user的id
213+
3、如果有连接关键词,也建立索引:user的id
214+
4、如果有分组或者排序,建立索引:order by time
215+
5、同时也可以建立联合索引
216+
217+
**需求1**
218+
某个部门查看审核人员的所有审批信息:先查询某个部门所有的审核人员,根据审批建议、审批时间及审批人查询审批信息(审批数据70w)
219+
```
220+
select u.* , c.* from user u inner join checklog c
221+
on c.uid == u.id
222+
where u.deptmentId = 1
223+
and time > {1} and time < {2}
224+
and desc like ' %'
225+
```
226+
227+
1子查询:先查询部门的用户id然后再查询相关的审批信息
228+
2没有加索引:70w数据查询用了3w s。
229+
3给user的id建立索引,时间减少到了1.003s
230+
4然后考虑到子查询,所以,改成连接操作,时间变为0.057s
231+
5再给连接字段建立索引,时间变为0.001s
232+
6模拟数据增加到300w时间增加到了0.016s,在部门id和用户id建立联合索引,时间降到了0.005s。
233+
7用时间进行排序,建立时间索引。
234+
208235
- [MVCC原理](https://liuzhengyang.github.io/2017/04/18/innodb-mvcc/)
209236
- [MySQL锁](https://blog.ouyangsihai.cn/mysql-de-you-yi-shen-qi-suo.html)
210237

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /