10.12去哪儿面试

一面

  • 自我介绍一下
  • 你Java是怎么学的?学校有讲吗?
  • 进程的通信方式有哪些?
  • 给你几个看看进程通信方式和几种场景,你看看它们是不是对应?
  1. 消息队列:redis的pub和sub
  2. 信号:linux的kill命令
  3. 管道:ps xx | grep xx
  4. 共享内存:MySQL的buffer pool

(这几个都是一一对应的,面试官跟我解释说这是一种抽象,不是具体编码实现,是那个思想)

  • 网络五层协议是哪五层?上面三层常见的协议可以说一下吗?
  • 网络层除了IP,还有哪些协议?
  • linux中,哪些命令与应用层的协议相关?哪些命令与传输层的协议相关?哪些命令与网络层的协议相关?你可以举几个例子吗?

(面试官在聊天框又写了netstat,ss,lsof这些命令,然后跟我讲解这些命令,包括还提到了ip等命令)

  • Map map=new HashMap(100),往里面put多少个元素会扩容?

(这里跟他说这不好说,因为hash冲突也会引起扩容,他跟我说不考虑冲突;后来面完想了想,因为容量已经大于64了,hash冲突就不会引起扩容了)

  • 为什么是128*0.75?
  • 为什么它要把长度调整到2的n次幂?
  • ReentrantLock的lock做了什么事情?概括一下?先考虑只有一个线程的情况
  • 只做了cas吗?
  • 你可能漏了些什么;那我这个线程再次执行这个lock方法会怎么样?
  • 那如果换一个线程过来执行这个lock呢?
  • 那为啥原来的那个线程可以重入,新线程不能重入?
  • aqs有个当前线程的变量吗?怎么标记当前线程是否自己呀?
  • 你说得没毛病,所以你刚才lock的时候是不是漏了什么事情?

(引导我很久,就是想提示我漏了说把当前线程设置到aqs的exclusiveOwnerThread,因为一直有点想当然了,就一直忘记说了;提醒我要要理解aqs的本质,说我已经把aqs这些东西都说出来了,怎么忘了这一步)

  • 那你有没有想过aqs为啥要设计成抽象类?
  • aqs的核心三个组件是state、exclusiveOwnerThread和队列,你知道有哪些并发工具是只用第1个和第3个就可以实现的吗?

(然后他借这题跟我解释了为啥要设计成抽象类的原因)

  • Java里面把线程挂起的方式有哪些?
  • sleep和join不算吗?(名牌提示)
  • 这里面有个wait方法比较特殊,你知道wait方法是要在什么条件下才能用吗?
  • 为什么要在同步代码块里面才能用呢?有思考过什么原因吗?

(他说我说的没毛病,但是有点不完整,稍微完善一点的是这个意思,sync是个关键字,在编译的时候会编译成monitorenter和moniterexit指令,会生成一个辅助对象,也就是ObjectMonitor,来辅助sync的执行,这个对象里面有个核心的类似aqs的结构体,也就是我说的waiter队列和state和owner,wait必须依靠这个waiter队列进行挂起,所以说它必须依赖ObjectMonitor这个对象,如果没有这个对象,那就会报错)(无敌

  • NIO核心的三大组件是什么?

(我在说selector的时候说了个epoll,他跟我说不一定是epoll,还可能是kqueue,甚至是select和poll,要看具体的操作系统以及操作系统的版本)

  • 你在网络传输的时候,传输的字节,会出现黏包半包问题,你知道黏包半包问题有什么解决思路吗?
  • 你在哪些中间件或者哪些地方见过黏包半包的这些解决思路吗?
  • 除了netty还有吗?

(然后他说我刚才说的基于长度字段方式,让他想起了kafka的协议,然后讲了kafka里面的黏包半包问题)

  • 问下实习吧,你在实习的公司做过什么项目?
  • 你觉得你的系统的用户量是百级千级还是万级呢?
  • 你们项目部署的话,是部署多少台机器呢?
  • 你可以说一下你做的一些的核心功能吗?
  • 你觉得你这个预约系统的接口里面,最核心的接口是哪个接口?
  • 那你就说一下吧,你这个接口从前端发起请求,直到返回给前端,一共经过了哪些组件、中间件和系统?分别做了什么事?
  • 你说你还有下游,你说说你跟下游通信的方式?Feign还是HttpClient?
  • 我看你之前做过rpc,你应该很清楚模块与模块之间调用的方式吧?我给你举个场景,我本地服务A,有个C接口,要调用M方法,这个M方法是在服务B上的,但是我现在服务A上面只有C这个接口,而且是没有任何实现类的,那它是怎么实现调用服务B的呢?
  • 你是不是还漏了什么?服务A是直接跟服务B发起请求的吗?前面没有其他步骤了吗?

(然后他开始讲起来他对rpc实现的思路,从注册中心,协议,序列化,连接方式,代理模式等等;跟我说这个框架不难写,但如果要实现的像dubbo和grpc那样,还是要有点水平)

然后就结束了,他说我是本科,看得出来我很热爱技术,对技术有自己的理解,在本科很少见,但是技术涉及的不是很多,也比较简单和基本;最后说要给我个建议,讲了十分钟。最后没有反问

可以看出来面试官是个真大佬,对很多东西都很熟悉,面试的时候边打哈欠边面,一边吃面包一边喝水,很自然但是很凌厉,一点不拘谨,随手在留言板上面写两句代码都能问很多东西,能从一个问题扩展到其他问题,也给了很多提示,补齐我说漏的东西;特别是最后赶时间还是跟我讲了好久的建议,是真的很感谢

二面

  • 自我介绍一下
  • 没有考虑过考研吗?考研和工作两方面是怎么考虑的?你的专业课有哪些?(作为双非本被问这些已经不惊讶了)
  • 操作系统的进程和线程有什么样的联系和区别?
  • Java里面也有进程和线程,Java里面的进程和线程跟操作系统的进程和线程有什么区别?
  • 我在一个jvm进程里面,最多能开多少个线程,原因是什么?
  • 一个线程的创建需要消耗哪些资源呢?
  • http熟悉吗?1.0,1.1,2.0有什么区别?
  • 3.0也出来啦,3.0解决了什么问题呢?
  • 一个表有学生号,学生名,学科,学期,成绩;查出每个学期的每个学科的最高分学生名(没写出来。。。)
  • 没关系,那我们再写道别的题吧;有重复元素的有序数组中找出大于等于目标值的第一个元素的下标
  • 聊聊你毕业后的计划吧

二面也是没有反问

二面面试官非常和蔼可亲,很温柔,讲话也有点俏皮,sql写不出来都给我过了

但是也狠狠地批评我,说我有个问题至少犯了四次,还没看清题目,没听完要求就开始写了,他要我直接在代码里面初始化数组就好了,我还用了scanner,甚至那个算法题的题目都是有二义性的,我也没发现,也没问清楚,关键还是在于审题,而不是二分法;听得我很慌,以为要挂了

然后告诉我以后工作也是,写代码也是,都要先听需求,先思考,写代码的时候永远是最短的

最后说没关系,说我面试能学到东西就好,其他的问题跟hr聊吧

HR面

常规HR面,介绍实习,实习收获,为什么不转正,毕业志向,个人优缺点

反问

11月左右反馈面试结果

没有提前实习的要求

开泡

update:秋招池子没泡出来,春招笔试了也没约面试,无缘骆驼厂

#面经##我的实习求职记录##秋招##24届软开秋招面试经验大赏##去哪儿#
全部评论
真的牛 一半问题没看过 一半看过详细深入的根本没记住这么多
28 回复 分享
发布于 2023-10-13 09:38 江苏
和你一样的面试官,问的问题一模一样,但是一面就没了,还是佬强
4 回复 分享
发布于 2023-10-13 10:35 云南
佬,太牛了
3 回复 分享
发布于 2023-10-13 10:29 北京
这个看着也太难了
2 回复 分享
发布于 2023-10-13 22:29 上海
请问三面结束是什么状态呀?
1 回复 分享
发布于 2023-10-17 17:26 北京
一面难度好高
1 回复 分享
发布于 2023-10-15 11:19 江苏
一面面试问题怎么和我几乎一模一样,同个面试官吧
1 回复 分享
发布于 2023-10-13 16:31 陕西
太吊了
1 回复 分享
发布于 2023-10-13 10:53 江西
佬,感谢分享,真牛呀
1 回复 分享
发布于 2023-10-13 08:43 安徽
举办了
1 回复 分享
发布于 2023-10-13 08:35 广东
这些问题也太底层了 哎 感觉不常规
点赞 回复 分享
发布于 2025-09-21 16:29 北京
这得挨多少顿打啊
点赞 回复 分享
发布于 2025-09-20 18:08 日本
数据开发也没面😭😭
点赞 回复 分享
发布于 2024-04-21 19:50 广西
我的天大半不会
点赞 回复 分享
发布于 2024-04-02 15:01 福建
啥时候投的
点赞 回复 分享
发布于 2023-10-15 19:39 北京
好强
点赞 回复 分享
发布于 2023-10-14 22:14 河南
举办了
点赞 回复 分享
发布于 2023-10-14 13:25 广东
这么强
点赞 回复 分享
发布于 2023-10-14 11:26 江西
一面完全一样的面试官
点赞 回复 分享
发布于 2023-10-13 23:16 湖南
二面应该跟我一样,完全一样hhh
点赞 回复 分享
发布于 2023-10-13 21:30 陕西

相关推荐

不愿透露姓名的神秘牛友
01-08 16:50
点赞 评论 收藏
分享
2025-12-27 16:21
已编辑
门头沟学院 Java
bg:中下211本科,java后端,无竞赛,无基础,大一升大二暑假开始学java。五段实习:美团-小红书-腾讯-淘天-字节。面秋招的简历只有美团、小红书、淘天。刚刚发现我的秋招蚂蚁流程挂了,这是我最后一个流程,那么我的秋招就算彻底结束了,总结一下:字节ssp+,职级2-1。美团ssp,+2打了半小时微信电话极力挽留。快手ssp,但报了字节薪资后没有争取的想法了。小红书sp,今年小红书给的很高,但比字节2-1还是差很多。虾皮应该是小sp?对虾皮一点意向都没,纯拿来集邮了。淘天ssp(暑期转正),说不要我的三方,毕业前考虑好了随时可以不签三方选择淘天。挂了的流程:京东二面挂,估计学历被卡了。懂车帝一面挂,和面试官聊不来,不认同我的方案。拼多多hr面挂,问我低于预期还来不来,当时说不考虑了,估计觉得我不忠诚。蚂蚁hr面挂,聊的还行,但估计我不会去给我挂了吧。阿里控股一面挂,没面前就知道是kpi了,因为时间可选的很多,而且都是半小时,我也拿他刷我的kpi了。上面差不多是我的情况,下面是我想说的话。我觉得我不算特别突出优秀的那类人,但我多少也算是靠前的那一批人,即使这样,秋招也不算特别顺利,也有挂了的流程,但你能说是我的问题吗,我觉得大部分情况不是的,如果真的是我的问题,我不可能本科校招拿到2-1,所以很多面试挂了,问题不出在面试者身上,很多是看运气+眼缘+和面试官合不合得来。所以我觉得,学会察言观色,了解面试官的脾性,也是面试很重要的一个点。比如面试官是喜欢听长回答,还是听短回答,他更看重哪些点,每个面试官对这些的侧重都是不一样的,所以作为面试者,要学会察言观色,通过面试官开局的一两个问题以及你回答后他的表现,就要判断出来。像我现在其实面试开局个五分钟,我就基本能判断个七七八八了,然后我后面的回答就会有所变化。这是我想说的第一个点:不要为面试结果焦虑,有时候问题不出在你身上,但你可以学一些面试技巧,尽量提高你的面试通过率,这里说的面试技巧指的不是网上那种烂大街的,一两分钟短视频说什么提高你面试通过率的,而是你要在你自己的面试过程中不断总结经验,吸取教训,旁人教你的终究是有限的。另外想说下选offer的事,上面其实可以看出来,我秋招最后是选了字节的,还没签三方我就来提前实习感受业务了,当我签完三方又过了一个多月,我这些天又在想这个问题,字节真的是我想要的吗,我现在总结了一下字节的好坏,发现当时可能被字节的高薪资影响判断了,如果现在再选一次的话,我应该会选杭州的小红书,会生活的更舒服点。具体种种就不展开说了。然后虽然我现在也可以说去把小红书舔回来,去毁字节,但我觉得没必要这么做,我可以采用其他的措施去不就,比如规划好两年内就跳槽,跳到杭州,跳到更舒适的城市。我觉得大家选offer的时候,真的可以冷静下来多方面考虑,薪资、城市、组内氛围、业务、老板是否看重、组内情况、未来升职机会等等都是可以考虑的因素,虽然有的时候不管选哪个,都不会坏,但最好也别让自己后悔吧,即使真后悔了,我觉得也没必要过度美化没走过的路,想好补救措施即可。这是我想说的第二个点:冷静好好做选择,不管是offer还是其他。但人生容错率很大,即使选错了,也一定有补救措施。最后还想说一些成长上的东西,尤其是现在AI火热的时代。我觉得大家如果想提高自己,或者说在未来社招跳槽有竞争力,肯定是要学AI相关的东西的,不说要会多懂AI,至少也要了解基本概念,而且一定要学会用AI提效。我现在字节的mt和我说,他现在80%代码都是AI写的。而我最近也开始尝试用AI工具,感觉现在AI真的进步很多,挺聪明的了,我现在写需求基本都是先让AI写,我再人工review小改动一下就差不多了。我觉得「AI取代程序员」是个很远的话题,但是「AI取代不会用AI的程序员」,可能真的就是近两年的事了。而怎么去学习这块的内容,其实我也正在探索,我也是刚学AI的起步阶段,我觉得大家也要有自己的信息检索能力,而不是别人喂你什么,你才学什么,自己一个人就不会学了。这是我想说的第三个点:趁年轻,多学习提升自己,拥抱AI,不要原地踏步,原地踏步的程序员最容易被淘汰。大概就是这样吧,今天看蚂蚁流程发现挂了,前几天腾讯约面我也拒了,就想到自己的秋招/校招算彻底结束了,有感而发,随便聊了下。牛客以后应该不会更新,大家不用关注,熟悉我的朋友应该知道我在其他平台有号。我更喜欢以长视频的形式去做分享,感觉会更有体系,而不是网上那种一两分钟的零碎短视频的那种营销号去起号,我也推荐大家多去看高质量的长文章、长视频,我觉得收获的能更多。希望大家能收获满意的offer与未来。
兑生:都这么疯狂了,毁字节去小红书也挺好
2025年终总结
点赞 评论 收藏
分享
评论
73
277
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务