还愿,来写面经了

在牛客上了看了好多佬的面经,确实给自己提供了帮助,再次感谢佬们的面经!我把自己面试的经历也分享给牛友,祝大家都拿到自己想要的offer!
# 面试复盘

## BG

双非本+末流211硕+无竞赛+无实习+只有实验室的项目经历

## 面经

### 腾讯---软开-java

#### 一面凉经 3/18

​面试官没有开摄像头,maybe是kpi面,这也是我的第一次面试,整体表现巨差无比,给我留下了深深的打击,觉得自己就是个小废物。

​上来经典的自我介绍,然后面试官就问我项目中的难点是什么,也没有追问。接下来就是提问环节

​Q1:Mysql和Redis的区别?---->个人怎么用的Redis?

​Q2:为什么用kafka?---->kafka重复消费怎么解决?

​Q3:进程、线程、协程的区别。(我是菜鸡,没有复习到协程,丢死人了。)

​Q4:讲一下对策略的理解

​Q5:三道算法题:1、字符串相乘 ---->2、LRU---->3、乘积最大子数组(基本都是leetcode上的热门题目,但是我没有写出lru,让我深深的知道自己准备的是有多么的不足了,惨痛的经历,我是菜狗啊啊啊啊啊啊啊)

​Q6:TCP和UDP的区别,估计是我回答的逻辑不好,就没有追问了

​Q7:三次握手以及其中的细节,比如第二次握手失败会发生什么。

然后就没有再问了,哭死,面试官很温柔但奈何不了我太菜了。第一次面试的紧张,我在写代码的时候既然在考虑输入输出,在面试官面前改输入输出的函数,第一次给了鹅,我太不珍惜了。

### 快手---软开-java

#### 一面凉经 3/19

这次的面试官开了摄像头,我回答不上来的还会给我讲解,告诉我答案,在挂掉之后我也没了自信。经典自我介绍开头+项目中的难点。

Q1:索引以及一系列的追问,最后出了一道题select * from t where c>0 and b!=1 and d=2;问我如何设计索引。答案是联合索引(d,c,b,a)

Q2:乐观锁 和 悲观锁 。CAS的实现原理

Q3:内存溢出和资源爆炸,讲一下自己经历过的内存溢出和资源爆炸

Q4:kafka如何实现顺序消费还有一些关于日常使用的追问

Q5:进程的并发执行问题,以及常用的锁。出了个题,讲一件i++如何实现上锁

Q6:websocket如何实现通信,要提到session

Q7:手撕:n个骰子投出为k的概率。

这次面试对我打击巨大,面试官说我基础不好,要加强一下自己对基础知识的理解。也彻底没了自信,坐实了自己菜狗的身份。

### 美团 ----软开-数开

没错。这次岗位跟之前不太一样,我投错了,就是那么的sb,哎,硬着头皮面的。

#### 一面 3/27

经典的自我介绍,但是没有问项目中的难点。让我讲了将项目具体是做什么的,我巴拉巴拉的介绍了一遍。

然后问我学过sql没,我信誓旦旦的说学过,平常经常用,然后一道sql手撕+算法就来了。

sql手撕: employee表,找出只有五个直接下属的经理

```sql
SELECT e.name
FROM employee e
JOIN employee sub ON e.id = sub.managerId
GROUP BY e.id, e.name
HAVING COUNT(*) >= 5;
```

算法手撕:划分字符串,尽可能多的划分,同一字母最多出现在同一个片段中

然后问了我听过事务没,我说听过,让我讲一下事务的特性。

然后就没然后了,就让我反问了,我都感觉是kpi了,惊喜的是第二天发二面通知了。

#### 二面 3/31

自我介绍,然后上来就说我们考察代码能力的,直接扔出来一道题“K个一组链表翻转”,秒了。然后他看我做的太快,说再来一道吧,“合并区间”依旧秒了,都是hot100的题。然后他说我能把题背下来也是能力,我说我最近在经常刷题。

然后就是八股拷打

Q1:虚拟内存是什么 虚拟内存的实现 虚拟内存遇到空间不够了怎么办,虚拟内存会把资源存在哪里? 内存不够了怎么办

Q2:tcp 如何保证稳定,详细讲一下保证稳定的机制,我讲的是超时重传。syn是什么,有什么用

Q3:CAS(没错又问到了cas,这次哥们确实会了)

Q4:线程切换

Q5:索引,考了我最左匹配原则

Q6:聊到了项目,我介绍了项目具体是做什么的,我自己的负责的内容,以及项目中的人员分工

Q7:问我为什么选择这个方向,之前没有做过(我不敢说是我选错了,我说出于热爱和好奇,哭死)

Q8:聊到了海量数据压缩,我从深度学习和算法的角度分别介绍了一下,没办法撞到了哥们擅长的领域

Q8:聊到了AI,讲了讲我是如何使用ai的,以及对ai的看法。ai大势所趋

这次面了70分钟左右,最开始我感觉面试官对我是无感的,但是我也尽力的去回答每一个问题,有答的好的答的不好的。面试过程中,面试官说了一句话“你是有自己的理解的。”所以我觉得在面试中还是要尽情的展示一下自己,让面试官感受到你的优点和激情。

#### 4/1面试官通知二面结果,后续有人跟我联系

#### 4/6号hr电话oc

#### 4/9号offer

## 感悟

运气很重要,但是运气是留给有准备的人的。自己没有把握住鹅厂的面试,痛啊,刻在心里的痛啊。快手的打击让我彻底丧失了自信,陷入自我怀疑,从头又看了一遍八股,牛客上刷面经。

java后端开发异常的卷,在面完数据开发之后有着深深的感受,大家在选择职位的时候可以酌情考虑吧。我确实卷不动。个人的简历过不了阿里、字节、蚂蚁、饿了么、京东、oppo、vivo、滴滴、作业帮等等的初筛,连面试都约不上,个人条件确实很有限。

美团太好了,我是团孝子,我爱喝开水,我爱说实话。

## 建议

1、手撕,hoot100必刷,必刷,必刷,重要的事情说三遍。尤其是动态规划,贪心。面试的时候如果是模板题写不出来基本就凉凉了。

2、简历上列出来的东西要能和面试官聊下去,面试官会看着简历问问题。

3、面试的时候不要紧张,不用因为某个问题回答不上来就毁自己的状态。而是要尽情的展示自己,从思维上,情绪,性格上等等方面,万一有哪个点打动面试官就成了。

4、运气是留给有准备的人的,还是要从自身出发,踏实准备,面的越多就会面的越多。

5、合理评估自己准备的情况,java软开卷不动就卷数开,测开,前端,程序员是互通的,不要被语言,前后端限制住了,我们具备的是在这个领域如何快速学习的能力,而不是一门java语言学到死。

6、八股是枯燥的,在回答八股的时候要用自己的话说出来,最好结合自己做过的项目,而不是背诵,要给面试官一种错觉,这个问题我在项目中思考过,而不是在八股文里背过。

7、面试前在牛客上找对应岗位的面经,把面经里的问题都过一遍,最好再做点问题发散。
全部评论
接好运
点赞 回复 分享
发布于 04-23 23:42 云南
接好运
点赞 回复 分享
发布于 04-10 11:30 广东
接好运
点赞 回复 分享
发布于 04-09 15:20 广东

相关推荐

一笑而过2222:判断三角形程序测试用例设计 ├─ 功能测试(合法三角形) │ ├─ 普通三角形:三边不等且满足三角不等式(如3,4,5) │ ├─ 等腰三角形:两边相等,第三边不等(如2,2,3) │ ├─ 等边三角形:三边相等(如3,3,3) │ └─ 特殊数值验证:较大等边数据(如5,5,5)、底边大于腰的等腰(如4,4,6) ├─ 边界测试(临界值与特殊情况) │ ├─ 边长为0:验证非法输入(如0,1,1→非三角形) │ ├─ 退化三角形:两边之和等于第三边(如1,1,2→非三角形) │ ├─ 最小合法边长:验证极小正数(如0.1,0.1,0.1→等边三角形) │ └─ 接近退化边界:如3,4,4.999(普通三角形,3+4>4.999) ├─ 异常测试(非法输入) │ ├─ 负数边长:如-3,4,5→非三角形 │ ├─ 非数字输入:如2,'a',3→异常提示 │ ├─ 参数不足:如3,4→异常提示 │ ├─ 参数过多:如3,4,5,6→异常提示 │ └─ 全非数字:如'abc','def','ghi'→异常提示 ├─ 特殊场景测试 │ ├─ 退化三角形边界:如5,5,10→非三角形(5+5=10) │ ├─ 极大数值:如1e20,1e20,1e20→等边三角形(精度验证) │ └─ 参数顺序无关性:如(5,3,4)与(3,4,5)→输出一致 └─ 测试设计方法 ├─ 等价类划分:有效类(等边/等腰/普通)、无效类(非正/非数字/参数异常) ├─ 边界值分析:0、退化边界(a+b=c)、极大/极小值 └─ 错误推测法:空格/特殊符号输入、顺序颠倒验证
查看20道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
评论
15
39
分享

创作者周榜

更多
牛客网
牛客企业服务