美团一面凉筋

投了被基础研发平台捞了,还以为做的是c++,一开始还挺开心。结果面试官上来就说他们这边做JAVA的,我从cpp跟他们不符合,直接蚌埠住了。寻思着来都来了,就说自己可以转,由此开始了一个多小时的拷打过程。

由于面试官不会c++,我不会java,因此唯一的共同点就是计网。面试官摁着我的计网问,项目重点全在问网络,我网络又不是很熟,所以寄中寄。面试官说它不是很懂C++方法,只能一点点从底层解释上去。

开篇照例拷打项目:

RPC框架怎么实现的

RPC中传输一条消息是什么样的过程

你知道ZooKeeper吗?

为什么用的raft不用ZooKeeper?

raft里会有脑裂吗?redis脑裂怎么处理?

可以讲一讲raft的选举过程和zookeeper有什么区别吗?

KVDB为什么用跳表?

据我所知只有redis在用跳表。跳表和其他数据结构有什么有点?

为什么redis用跳表,mysql用b+树?

那为什么b+树这么多优点,为什么redis不用? (我麻了)

一条http消息进入你的服务器是如何处理的?

有没有做负载均衡?

了解过路由算法吗?

你是如何在你的服务端实现这一套tcp连接和传输的流程的?

四次挥手为什么是四次不是三次?

三次握手为啥不是两次?不是四次?

(省略n个tcp相关八股和实现问题)

tcp拥塞控制了解过吗?

如何实现流量控制?

开始撕算法。

一道括号运算,面试官让我不要用定义好的栈,我就用了vector实现。结果半路面试官以为vector是栈,又提醒我几遍自己实现,我懵了好一会才跟他解释出来vector是数组,stack是栈。最后没撕出来(太慌了),他也看不懂代码,也没法说哪错了,只能说个思想过了。

一个阻塞队列,用了个互斥锁和条件变量,撕出来了,over.

反问:

我也蚌埠住了,问他那边除了java还有没有go的工作,他说只有java。说完俩人就对着傻笑。笑完了就结束了xD.

面试官挺不错的,很可爱,会引导回答问题,可惜真的是他不懂我我不懂他。一点C++和分布式的八股没问,全是tcp八股。哎,怎么找个实习都这么难找。

#美团#
全部评论
再接再厉继续努力
4 回复 分享
发布于 2024-03-31 19:57 广东
面试文远知行,面试完才知道这家公司没有java岗位,虽然一面全都答上来了,面试官都提到下一轮了,但是直接人才池了
2 回复 分享
发布于 2024-03-30 13:33 广东
是哪个部门啊
1 回复 分享
发布于 2024-03-30 15:19 上海
现在结果怎么样了
点赞 回复 分享
发布于 2024-03-29 16:36 江苏
emm,我那天面到店也是,他说是java我大声说我能转,然后就问了点数据结构,开始写题,没问其他的OS、计网啥的,然后泡了4天挂了
点赞 回复 分享
发布于 2024-03-29 18:44 河北
我上次面,门面试官也不懂c++,手撕的时候问我sort里面第一个参数nums.begin()是什么意思😅
点赞 回复 分享
发布于 2024-03-31 12:31 安徽
完全一致
点赞 回复 分享
发布于 2024-04-02 17:43 香港
大佬 笔完多久被捞上去面试的 我笔完一周多了还没面
点赞 回复 分享
发布于 2024-04-03 10:06 上海
为啥他们不派一个会c+的人来面试?
点赞 回复 分享
发布于 2024-04-03 18:22 广东

相关推荐

zzxn:学习顺序:javase,mysql,ssm(时间充足),springboot(最好苍穹外卖跟着抄一遍),redis,juc ,jvm,springcloud(知识星球找付费项目)经验:学框架理解其中的基本逻辑,结构即可,不要深挖,不用深学,找工作的时候八股有你深学的。以上为本人理解,仅供参考。
点赞 评论 收藏
分享
02-23 16:18
北京大学 Java
##非科班###非科班#实习建议#求相似背景牛友解惑或者拷打:bg:  26届+ top2本 + 中科院某所硕(本生物,硕交叉机器学习+生物)+0实习目标: 中大厂(20k)八股:除了spring和消息队列基本上都看了一遍(Java 基础,集合,并发,虚拟机,操作系统,计算机网络,MySQL,Redis)过了一些面经,能回答高频问题。(自评能回答75%左右)项目:DIY_Tomcat + 智能云图库+高性能缓存(解决并发安全+缓存三大问题)属于学习的时候的练手项目算法:leetcode 249 , hot100+代码随想录动态规划+labuladong回溯法自查不足: Spirng八股还没准备 + 缺少微服务的学习+项目Q:1. 目前三月份就要开投实习了,感觉项目没有微服务是一个很大的减分项。目前有两个策略,选哪个呢?   a. 先不要搞微服务,下周巩固八股+补充Spring相关知识,然后开投,面试期间补充微服务相关知识和项目,更新掉缓存项目。   b. 下周all in 速成一个微服务项目,更新项目,然后投递简历,面试期间巩固八股+Spring知识。2. 平时刷算法都用的C++,最近需要改成Java吗?(Java刷算法不太习惯)3. 毫无意义但是还是想问,目前中大厂对于非科班转码的接受度怎么样?(在专业减分的情况下,其余需要达到什么样的条件?)
点赞 评论 收藏
分享
C++的上限非常高,但是分阶段性逐步学习是没有问题的,一步步的学,慢慢领悟,总有一天会熟练掌握的。C++ 语言的学习其实就三个阶段就好了:(1) 入门阶段这个阶段的学习主要是熟悉 C++ 语言的语法知识。在这个阶段要做到理解对象的思想方法,培养自己的编程思维能力。目标是可以开发一些像贪吃蛇这种简单的控制台小程序。(2) 进阶阶段进阶阶段的学习主要是要掌握 C++ 标准模板库(STL)、设计模式、数据结构基础以及 UI 界面开发、数据库开发等高级技能。在这个阶段是要达到可以开发复杂的程序,达到工作中 C++ 开发程序员的能力。(3) 应用阶段这个是实战阶段,要具备一定的综合性应用软件开发能力。这个阶段就是多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。注意!下面都是超极干的干货一、入门阶段入门阶段的学习主要是熟悉 C++ 语言的语法知识。除了基础的变量、常量、关键字、数据类型、运算符、数组、函数、指针、结构体外,还要学习 C++ 的面向对象编程思想、命名空间 namespace、引用、函数扩展、类的封装、构造和析构、继承、多态、异常处理等内容。语言部分的学习建议不要拖太久,一定要规划好时间,一鼓作气,不然自己容易泄气!1.视频推荐此时同学们应该是毫无基础或者稍微有点 C 语言基础的小白。对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。可以先从视频教程开始,教材为辅。我当初 C++ 视频是在 b 站看的黑马程序员的 C++ 课程(我不是他们的托儿从 0 到 1 教 C++,三百多个小节,每个小节时间都不是很长,除了个别几个在二十多分钟,其余的基本上都在几分钟到十几分钟之间。每一个阶段都会有相应的小项目教学,对初学者来说是很友好的。看视频的时候不是看看就过去了,编程毕竟是门一门手艺活,孰能生巧。建议一边看,一边将视频中的示例或者小项目教学自己也实现一下,刚开始不会可以照着敲,比只看不动手强一百倍。此外,我最近发现深蓝学院出品的「C++ 基础与深度解析」课程也很不错,深入基础,讲解语法细节。从基础语法讲到 Modern C++,从面向过程开发到新编程范式,对大家学习 C++ 很有帮助。2.书籍推荐入门阶段的书籍为辅,怎么为辅呢?就是视频看完一个阶段,然后就可以去看书上对应阶段的内容,这样看书,一方面看书的时候会很快,容易理解,另一方面可以印证自己在看视频的时候一些不太理解的地方。入门阶段推荐两本书,一本薄的,一本厚的,都是超级经典的书籍。《Essential C++》《Essential C++》是一本内容不多但很实用的 C++ 入门书籍,这本书强调的是快速上手与理解 C++ 编程。主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。《C++ Primer Plus》&《C++ Primer》很多人 C++ 入门的时候会推荐《C++ Primer Plus》,很多人 C++ 入门的时候会推荐《C++ Primer Plus》,我当年先看的也是这本书,当年 C 语言除了学校的教材,我看的就是《C Primer Plus》。这本书怎么说的,讲的超级全面,甚至有点过于全面了,书中的例子和课后习题循序渐进,不夸张的讲所有的知识点可能都囊括进去了,作者可能为了怕大家学不明白,讲的巨细,甚至我感觉都有点啰嗦,造成这本书巨厚,字又巨小,看完感觉近视又加了几度。当时我学习的时候《C++ Primer》还是第 4 版,现在都到第 5 版了!《C++ Primer》堪称 C++ 语法学习的最权威书籍,非常全面地讲解了C++的语法以及C++11的各种新特性,看完之后真的帮助特别大!如果有时间建议至少看两遍以上!时面向 C++ 语言的初学者,是一本很友好的自学教材!而且例程和习题丰富,相信认真读过之后,可以完成 C++ 语言入门这个目标!!如果你在这个阶段觉得差不多了,可以尝试找一些在线的练习题做下,如果你不知道去哪找,那可以去下面这个初学者练习编程巩固语法的绝佳去处。它有专门的 C++ 入门编程练习题,专门练习语法和大家的编程逻辑,从变量、数据类型这些基础语法,到数组、字符串这种复合类型,再到函数、面向对象,以及在 C++ 中很重要的 STL,最后再来点综合练习,差不多 70 多道题,够你练的。除了编程练习以外,如果你想知道你自己的知识点掌握的如何,也可以做一下专项练习。以类似试卷的形式,可以很好的检验自己的学习成果,不管是对之后应对考试,或者应付笔试面试都很有帮助。二、进阶阶段在进阶阶段,你已经对 C++ 有一定的认知了。这个时候我们可以深入学习 C++ 标准模板库(STL)、设计模式、数据结构基础以及 UI 界面开发、数据库开发等高级技能。1.书籍推荐《C++标准程序库》关于 STL,可以先读这本侯捷老师翻译的《C++ 标准程序库》。通过这本书对STL有个基本认识,学会使用 STL。《STL源码剖析》读完 《C++ 标准程序库》,就可以来读这本侯捷老师编写的《STL源码剖析》了。这本书建议必读!这本书讲解了 C++ 底层实现,主要包括 C++ 底层内存管理、各种容器的数据结构实现、常见算法的实现等。可以帮助深入理解C++底层,同时也是对数据结构的复习和巩固。《Effective C++》《Effective C++》讲了 C++ 编程的 55 条准则,提高你的 C++ 编程质量,也是侯捷老师翻译的!这本书有助于梳理在编写 C++ 程序时的一些常见错误和注意事项,也是面试常考的。《深度探索C++对象模型》《深度探索C++对象模型》这本书讲解了C++面向对象特性的底层实现机制。侯捷老师翻译的,看完这本书,对C++面向对象的理解帮助极大,建议必读!2.视频推荐不知道大家注意了没,上面我推荐了四本书,都和一个人有关:侯捷老师。书要么是他翻译的,要么是他写的,C++ 领域 YYDS!同意吧?侯捷老师当然也有讲课,针对书都有对应内容的视频课程!三、应用阶段其实编程语言就是要多练,怎么多练,就是代码量。自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。面经可以参考c++面经 总结的很详细https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
14
71
分享

创作者周榜

更多
牛客网
牛客企业服务