查缺补漏!尚硅谷周阳springcloud笔记
作者:互联网
# 复习过程
* 项目准备;
* leetcode:刷完剑指之后每天会刷2-4道leetcode
* java基础: 主要刷面经、重点掌握垃圾回收机制
* 操作系统: 之前没学过,用几天时间看了一下最重要的进程线程、死锁、消费者生产者、哲学家问题、银行家算法
* 计算机网络:花几天时间复习了一下,重点复习tcp(三次握手四次挥手拥塞控制流量控制)、udp、https
* 数据库: 重点了解了索引的实现以及引擎的区别
* 数据结构和算法: 主要通过剑指offer和leetcode进行复习
* 其他:期间也做过大大小小好几次笔试,还有一些往届练习卷
# 腾讯
## 一面(3.13电话面)
1. 自我介绍
2. 介绍项目以及项目遇到的难点
3. java的hashmap是否安全?hashmap、hashtable、concurrenthashmap的区别、底层和实现
4. mysql索引的底层实现
5. jvm垃圾回收机制
6. tcp、udp区别和适用场景
7. tcp三次握手、四次挥手,为什么挥手不能只有三次
8. 线程和进程的区别
9. 进程通信的方式有哪些
10. 堆是线程共有还是私有,堆是进程共有还是私有,栈呢
11. 了解过协程吗(我:携程???不了解呜呜呜)
12. mysql查询优化
13. 快速排序的时间复杂度、原理(口述算法)
14. 最近在看什么书
15. 除了腾讯还投了其他的公司吗
16. 问我愿不愿意转go,并推荐我了解一下协程,最后让我耐心等待,面试的人太多,需要对面试的同学进行挑选,两周内会告知我结果
17. 有什么想问的(对我的评价和学习建议)
## 二面(3.22现场面)
1. 自我介绍
2. 问我为什么发现自己不喜欢做客户端(简历中有一个安卓实习项目)而想做后台
3. 介绍项目(一个电商小程序)
4. 项目中的商品是否有考虑过xxx(忘记叫什么了,意思就是是否有考虑过同一种商品有不同的颜色、规格,在数据库中如何区分这些不同)
5. 介绍项目的支付流程,并画一下流程(白板)
6. 介绍一下订单状态码的含义,以及交易过程中订单状态码如何变化
7. 如何防止商品的超卖现象
8. 项目是否具有秒杀功能
9. 并发的时候,如何保证性能
10. 在分库之后,如何设计id
11. 在分库后,一条插入请求,在上层不做处理,如何直接在数据库找到相应的库并插入库中的某个表
12. 当服务器的cpu一直很高时,如何找出原因
13. 是否用过调试工具
14. 当项目一直无法访问的时候,如何定位错误
15. 介绍一下aop和ioc
16. 如何将一个ip地址由点分制(xxx.xxx.xxx.xxx)和int类型间进行相互转化
17. 如何判断一个数是否为2的n次方
18. 可实习时间
19. 是否愿意转go
20. 有什么想问的(对我的评价和学习建议)
## hr面(3.26电话面)
1. 自我介绍
2. 介绍一下实习经历
3. 实习中遇到的困难以及如何解决这些困难
4. 未来计划,是否读研
## 面试总结
一面的问题都很中规中矩,唯一卡住的就是协程了,确实不会,只能和面试官说我不了解。
主要和大家分享一下二面的面试体验吧。因为二面自我感觉答得不是很好,有很多问题当时没记录下来,现在一时也想不起来。所以上面的面经并不完整。
当时面试完走出大厦以为自己挂掉了,结果刷新了一下状态发现变为hr面,真的超级意外。现在想想大概是因为我在遇到不会的问题时,没有直接说自己不会,尽量把答案往自己知道的方向回答。
* 第7题,项目没有秒杀功能我也没做过,但是了解过一些,只能和面试官说确实没有,然后让他听我讲一下我的实现思路,期间又让面试官挖出了很多问题考我TAT
* 第9题、第10题,面试官要求我在分库的场景下回答问题,我先回答了分表情况下如何实现,他肯定了我在分表下的做法,但是分库情况还需要另外考虑,我实在想不出来,才和他说自己没有办法实现,但这总比我直接说自己不会好。
* 第13题,如何定位错误的时候,先讲了一下无法访问的几种情况,以及大量tcp处于time_wait、close_wait这两种状态的原因和解决方法。
* 面试结束后,等电梯的时候突然想起面试中一个一直理解错误导致解不出的问题,发现自己想歪了之后赶紧编辑完答案又给面试官发了过去,这个答案后来得到了面试官的认可。
# 最后的内容
在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)
**如何准备面试?**
**1、前期铺垫(技术沉积)**
程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。
下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习Java,应对大厂面试官的灵魂追问,**有需要的话就戳这里:[蓝色传送门](https://gitee.com/vip204888/java-p7)打包带走吧。**
> 这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!
* Java程序员必看《Java开发核心笔记(华山版)》
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046932544339.jpg)
* Redis学习笔记
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046933249927.jpg)
* Java并发编程学习笔记
四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046933423662.jpg)
* Java程序员必看书籍《深入理解 ava虚拟机第3版》(pdf版)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046933528254.jpg)
* 大厂面试必问——数据结构与算法汇集笔记
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046934450318.jpg)
其他像Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s等等我都整理好,这里就不一一展示了。
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046934150769.jpg)
**2、狂刷面试题**
技术主要是体现在平时的积累实用,面试前准备两个月的时间再好好复习一遍,紧接着就可以刷面试题了,下面这些面试题都是小编精心整理的,贴给大家看看。
①大厂高频45道笔试题(智商题)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046934681950.jpg)
②BAT大厂面试总结(部分内容截图)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046934833329.jpg)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046935939589.jpg)
③面试总结
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046935498183.jpg)
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046935963824.jpg)
**3、结合实际,修改简历**
程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:
![](http://www.icode9.com/i/li/?n=2&i=images/20210712/1626046935204203.jpg)
以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
**以上文章中,提及到的所有的笔记内容、面试题等资料,均可以免费分享给大家学习,有需要的话就[戳这里打包带走](https://gitee.com/vip204888/java-p7)吧。**
标签:补漏,cto,https,周阳,jpg,s2.51,查缺,20210712,com 来源: https://blog.51cto.com/u_15293085/3037174