阿里国际一面面经(已oc)

纯拷打,面试官不让你背八股,全都让你从抽象的角度去想。
而且每次回答完,不论你对不对,对面只会有一段沉默,压力拉闷了
我这种每次面试都被夸不紧张的人,都快神志不清了

1.你的开源经历做了什么?
2.你平时是如何使用dubbo的?
3.你觉得dubbo和其他rpc框架的区别是什么?
4.你觉得rpc框架使用了java中的什么机制
5.rpc远程调用的过程中,使用的是什么设计模式?
6.你了解AOP吗?
7.那你想想,rpc远程调用是用的什么设计模式?
8.讲讲dubbo调用的逻辑
9.dubbo远程调用中,消费者为什么能调用服务者?用的是什么机制?
10.dubbo的服务发现是什么机制?
11.你说你没用注册中心,那你是如何实现这一点的?
12.缓存雪崩问题?
13.你不要从实际角度,我需要你从抽象的层面,去分析下这个问题
14. 我看你比较熟悉操作系统,那你说说端页存储吧
15.直接映射区是做什么的?
16. 我看你有很多奖项,你在这些奖项里面做了什么?
17.你熟悉java的集合吗?
18.那hashmap的数据结构是什么?假如有一个数据插入,他的完整逻辑是什么?
19.hashmap是线程安全的吗?
20.那有哪些线程安全的结构?
21.concurrenthashmap是如何保证线程安全的?你先说下细节,再从抽象角度描述一下
22.synchronized关键字的具体机制是什么?
23.你实习主要做了什么?
24.你实习中的大模型是自研的吗?那么你们使用的方法是什么?
25.你实习中遇到了什么问题?如何解决的?最大的困难是什么?
26.linux的基础指令?说五个吧
27.linux是如何删除很大的文件的?比如一个几百个G的日志文件?
28.我看你应该比较熟悉Unix系统,你讲讲unix的吧
29.如何查看一个很大的文件?
30.如何搜索某个文件?
31.你讲讲TCP的连接和释放吧
32.讲讲OSI七层结构
33.tcp/UDP是哪一层的协议?
34.讲讲SSL协议的过程?
35.讲讲HTTP1.1-http3的过程
36.QUIC协议
37.git平时你是如何使用的
38.你平时提交开源代码的流程是什么?
39.假如你要维护一个开源项目,你作为commiter,你该如何去设计流程?
40.你能设计一个开源项目的代码规范吗?

还有一些记不得了,应该有50+
全部评论
请问佬的开源经历是和dubbo相关的,所以才问这么多dubbo的问题吗?
2 回复 分享
发布于 2024-04-22 11:10 澳大利亚
天,佬都答出来了吗?
2 回复 分享
发布于 2024-04-20 18:01 上海
佬有英语问答吗,对英语要求怎么样
1 回复 分享
发布于 2024-04-20 23:27 北京
这么强
1 回复 分享
发布于 2024-04-20 23:14 湖北
求timeline
点赞 回复 分享
发布于 2024-04-27 10:12 浙江
佬你的操作系统项目是什么啊,我也做了mit6.s081,怎么写简历上呀
点赞 回复 分享
发布于 2024-04-26 19:43 江苏
想问一下,我4.17笔试,催了一下流程,今天才给我约电话面试,感觉这个电话面的形式是不是就是kpi?
点赞 回复 分享
发布于 2024-04-25 14:34 上海
我都不会😓
点赞 回复 分享
发布于 2024-04-25 02:59 湖北
佬 阿里没有二面面经嘛
点赞 回复 分享
发布于 2024-04-24 16:51 四川
什么部门啊
点赞 回复 分享
发布于 2024-04-24 00:58 上海
捞 它为啥感觉你很熟操作系统呢
点赞 回复 分享
发布于 2024-04-23 23:48 四川
有些问题很抽象呀,比如说说看啥啥啥,这种怎么回答呢?脑子比较懵
点赞 回复 分享
发布于 2024-04-23 10:49 上海
大佬有时间能分享下,如何学习并参与到开源项目中?
点赞 回复 分享
发布于 2024-04-22 22:35 上海
太厉害了佬
点赞 回复 分享
发布于 2024-04-20 23:58 浙江

相关推荐

随着ai ide工具的迅猛发展和在前端开发中的运用,网络上出现了很多吹捧ai技术的言论或者ai取代前端的论断。然而作为一个经验有限的小白,我的感受却和某些大佬们几乎截然不同,总觉得ai还是不够强,不够聪明,接下来聊一聊我的看法供参考,仅代表本人观点。实习和学习期间,cursor,Claude code,trae这些ide我都用过,我大体的结论是:对于常规业务需求,ai ide工具必须在以下几点条件下才能有较为良好的表现,但是对于企业级项目而言,前端开发本质上是企业的商业目标在技术上的实现,和任何一项工程实践一样,都面临着极其复杂的上下文环境,以及多主体的沟通协作,因此以下的要求都很难完全满足。第一,简单明确并且一次性的业务需求。显而易见,需求的复杂度在很大程度上决定了工程的复杂度,以及指令描述的清晰程度。就拿企业里面常见的支付下单链路来说,涉及十几种订单状态和流转步骤,理解业务的过程必须由开发者完成,ai仅仅是辅助。至于迭代次数大家懂得都懂,企业级项目迭代频率是非常快的。第二,低交互,短链路的界面和低性能的要求。c端业务对性能要求通常较高,即使是b端业务也会有较为复杂的交互链路。而这一点是前端开发特有的难度,毕竟前端构建的是UI界面,如果交互效果复杂(UI方面比如阴影渐变,淡入淡出,交互方面比如拖拽展开折叠等),则会非常难以用文字进行描述,对ai来讲也非常不友好。第三,有限的工作区边界和上下文规模这点前端相比后端更容易做到。后端开发常常涉及接口,数据库,中间件,路由等各种模块之间的复杂调用关系,而前端相对来讲更容易把UI组件拆的很细,进而约束工作区和上下文规模。但这项工作涉及组件拆分和数据管理和接口设计,也需要由前端开发者完成,而非完全交由ai工具。第四,命令式的指令和明确的技术规范所谓的命令式,指的是需要把开发步骤详细拆分,而非仅仅声明式地描述结果。举个例子,你不能只说“在这个组件实现登录和注册功能,”,那样的话写出的代码质量很低。你应该和他说 先实现静态约面,再添加交互,校验输入,最后提交结果,并且附上把每一步的效果。此外,请求库用哪个 请求函数是否封装 样式方案用哪个 需不需要拆分文件 开发中有哪些格式规范 函数变量命名怎么样 这些都是需要开发者去约定的。接下来举几个日常前端开发中的情景,这也是我为什么会得到以上的结论和感受。1.你刚进公司开发第一项需求,项目需要同时在web端和移动端运行,请问你如何解决手机端调试(让手机打开localhost),开发阶段跨域和登录状态共享(拿到其他域名的登录态)的问题?ai可能会给你一些常规的方法,什么webpack vite的proxy代理解决跨域,然后局域网监听,内网穿透让手机访问网址,修改host可以共享cookie等等,这些我也都不太懂。但其实公司里面大概率早已有成熟的解决方案,只需要访问一个共享的中间网站,让手机扫个码就能一站式解决所有问题,连proxy都不用配。所以你要做的是熟悉文档,判断问题和沟通提问的能力,以及一些超越前端范畴的网络知识。这些都是ai无法替你获取的信息。毕竟对ai来说,所有的问题都是你的问题,但对你来说并不是哈哈哈。2.假设你正在开发一个商品展示的详情页,现在拿到的是设计稿和prd,懒得一点点敲样式,打算把它甩给ai,直接告诉他在中让他直接生成静态代码。但很快你会碰到很多问题。首先是你要清楚你们项目样式方案要用哪一个,moduleCSS,CSS in JS还是原子化CSS,不说的话ai可能就直接把style塞到标签里了。其次是一些响应式问题,页面宽度不够时布局需不需要换一种展示方式,文字溢出怎么展示?页面宽度拉长的时候圆角比例不对了可以接受吗?页面上的icon怎么都不一样能不能统一复用?这些都需要和设计师一点点沟通甚至battle。第三是交互逻辑,用户体验以及一致的UI界面。滚动到底部有没有loading状态?滚动事件要不要节流函数?函数自己写还是用第三方库?用哪个版本?移动端支持度怎么样?商品的数据量有多少,需不需要虚拟列表?没数据的时候页面展示什么?高度是不是固定?此外,弹窗和loading 按钮是不是已经有通用的组件了,没有的话需不需要封装?需要封装到什么程度?需不需要发布npm包?这些都是由你和团队决定的,而不是完全交给ai,否则它可能用一大堆代码还原了一个你引入几行代码就能搞定的东西。AI不是不考虑这些问题,而是不符合你的预期,增加后续维护成本。有可能ai给你用antd写了一堆,但是明明你们部门之前有自己二次封装antd,也有可能它引入的包和你项目的某个框架不兼容。这要求你对部门技术有基本的了解甚至熟悉。3.进入联调阶段,你开始换账号测试,突然发现换到某一个账号后下单按钮疯狂点击没反应,开始排查。原因是这个用户在这个协议里受到了某些限制不能下单,后端数据库里拿不到数据,返回操作失败,前端也无法跳转下一步。理论上,登录之后如果他受到协议限制没权限,按钮应该隐藏,提示用户没权限。问题出现的原因,大家都应该背锅:产品: prd里面没写,逻辑和之前一样,因为默认大家都懂。没权限按钮肯定点不了啊设计: 照着prd画的,总不可能有按钮没按钮都画一遍前端: 你当时梳理业务的时候是给ai梳理的,ai打死也不知道你这按钮还会隐藏的,所以你没问产品,也没找后端加字段。后端: 只看prd,prd没写就没做。开发阶段前端也没说要加字段,就没加。现在你提出了解决方法,让后端加上一个字段hasRight,前端判断是否有权限,没有的话按钮隐藏掉。但是后端看了一下项目,发现这个字段的判断逻辑在另一个旧项目里面,所以让你去调用旧的接口拿字段。你求着后端说能不能聚合一下,后端说太麻烦不好做,而且不要重复开发,最好前端发个请求去拿就行了,所以为了一个新的字段前端要去另一个页面找请求是怎么发的。前端很委屈,但是也很无奈。新项目的页面用到老项目的接口,于是你打开线上页面,打开控制台翻请求看看参数怎么传的,发现那些参数完全没见过都根本看不懂啥意思。复制给ai它能帮你吗?恐怕不太行吧。无奈之下,你又只能去找这个项目的前端代码,在套了一层又一层的屎山里面翻来覆去,总算找到了那些请求参数的依赖逻辑,万幸的是这些参数都通过在新项目的现有数据推导计算出来,有些只是换了个名字。不过很快你又发现新的问题,这个老项目部署在a.com域名上,但是你现在开发的新项目部署在b.com上,即使你参数都准备好了,也会因为跨域拿不到数据。难道说还要在本地配置代理吗?甚至可能还要开发一个node中间层作为转发?开发阶段好说,测试和生产又怎么办?难道因为一个字段导致项目架构都要变动吗?要不还是找后端协调一下?怎么办呢? ai能帮你吗?你要是问题说不清楚,它真有可能给你本地整一个node转发层出来。。。4.提测阶段,第一天测试就拿了bug截图甩你脸上。你发现页面按钮全部挤一起,怎么回事呢?调试了半天才发现原来你习以为常的flex布局gap属性在某些安卓旧式机上不兼容。所以只能把项目里面手动把gap一个个换成margin–right和margin bottom。。。你好奇ai为什么没和你说?ai能知道就怪了。。。而且鬼知道你用什么机子测。测试的最后一天,产品突然说要加个埋点,问就是老板要,于是你只能拉回代码加埋点,本来想问ai,但是ai怎么可能知道你们部门埋点工具的逻辑呢?于是你只能去翻文档一点一点对照着写。最后看着卡着一动不动的cicd流水线感慨,为什么ai不能再聪明一点呢。以上场景都是我的亲身经历,实习几个月代码和技术没学多少,反倒是看到了不少甩锅和妥协。看到这你可能会理解,为什么我认为即使ai工具在我们日常开发中完成了大部分编码工作,它对我们的帮助程度仍然有限,大概占所有工作的30%-40%左右。我这还是个初级的实习生,对于更高级的程序员,这个比例只会大幅度降低。从最开始的业务理解,需求分析,到前期的架构设计,技术选型,旧项目的技术债务梳理,迭代成本评估,到具体的代码实现,安全性测试,bug调试,再到最后的生产上线,性能调优,前端开发涉及到产品需求提出到落地到后续迭代的全链路,在这中间很多事情是需要我们人去一点一点理解和实现的。很多时候我们面临的不仅仅是工作区的窗口那几个文件和几行代码,甚至都不是单纯的技术问题,是一个带有历史包袱和庞大上下文的复杂系统。所以我们要做的是打好地基,搭好框架,尽最大的可能缩减需求边界,明确限制条件,这样ai才能成为你得力的执行者,做好最后的搬砖工作,而不是一上来就让ai建造一整座房子。
AI Coding的使用...
点赞 评论 收藏
分享
我这个题目不是贩卖焦虑,大家喜欢看数据,我就上数据。现在大厂技术人员平均年龄已经变成了28岁。巧了,我现在27.5岁,我的合同期正好在28岁结束。这不是个人的过错,而是资本对人的异化,行业的陋习,以及中国社会独有的年龄歧视,同侪压力共同造就的结果,那就是程序员的职业生涯必然短命。企业淘汰候选人的理由无非就这个:性价比低。你三十多了拖家带口,孩子生病了你是不是得照顾?你老婆也上班,轮流带孩子,如果老人帮不上忙,你怎么照顾孩子?是不是得请假?如果老人还需要照顾,那你就是分身乏术,能全身心扑在工作上吗?不好说吧。现在一个项目就是要求快,觉得1个人,干10个月干完,那我招10个人,1个月干完不就行了。但是,这是不对的。年轻人是可以堆工期,ai工具也可以用来堆熟练度,但是经验,稳定性,系统的流畅,不是堆工期能够做到的。在资本眼里,程序员也不是人才,是生产资料,是耗材,和服务器,算力一样,旧了,不好用了,贵了,就换成便宜的。AI编程工具的普及也对35岁危机造成了致命一击。AI能做的太多了,它必然会取代很多执行层的程序员。有多少程序员在30岁前并未接触到架构,方案,业务决策?体力比不上年轻人,性价比不如AI,企业认为处理这部分难题的最好选择,就是辞退。中年人的绝望说完了,说说年轻人的绝望。行业没有给年轻人留成长的时间和上升通道。基层开发堪称万人坑,管理,架构,技术专家,都是少部分人垄断的。年轻人很难在35岁前挤进管理岗,一次失败,终生淘汰。35岁就是触发年龄清除的指令。行业也只需要年轻码奴,不需要沉淀经验的工匠。就这个行业生态,也不要指望做出非常创新,足以改变世界的产品。因为这些产品不是靠年轻人的尸体能堆出来的。这种生态,必然会把整个行业的根基毁掉。我想提醒每一个程序员,35岁就是达摩克里斯之剑,悬在每一个人头顶。
程序员能干到多少岁?
点赞 评论 收藏
分享
不知道大家是不是今年感觉已经被AI刷屏刷的头都要炸了?伴随着VibeCoding的快速兴起,好像编程一夜之间就变成了人人触手可得的技能,而那些绞尽脑汁学习语法、练习项目的同学们一夜之间就变成了小丑,前端更甚——似乎每个新模型的诞生好像都在重复着“XX模型即将杀死前端”->“前端已死”->“XX即将发布最新的模型”的循环,似乎每年都是前端最糟糕的一年,甚至我们当中的不少人都这么认为,真的是这样吗?请允许我花些时间聊聊。展望前端的未来,必然要先回顾前端的过去,显然,AI压根就不是第一个杀死前端的。不知道各位有没有听说过Dreamweaver?这是一个可以直接可视化画图方式生成网页的工具,可以直接把设计稿转成网页(类似于VB的手绘控件),那个时候有人说,前端已死;结果是,一旦网页内容开始膨胀,嵌套几十层的图纸毫无维护性可言,更不用说复杂的动画效果了,它随着Dreamweaver一起成为了历史,并客观上加速了前端开发与UI设计的分离。下一个挑战者是JSP/ASP.NET,后端开发者可以快速的用他们最熟悉的语法完成前端开发所做的一切,数据处理,表单请求...,那个时候有人说,前端已死;结果是,伴随着移动互联网的高速发展,前后端一体反而给开发者带来了更加沉重的负担和夸张的维护成本。既然前后端分离了,想必那个时候的前端就迎来了春天?不见得吧,它的挑战者就从来没停过,以WordPress为代表的建站平台急匆匆的来了,是的,各种模版几乎快要革了“前端”的老命,但却提供了更多的插件、主题开发和二次定制需求的市场机会,你能说它杀死了“前端”吗?好吧,即便前端的生命力如此顽强,那低代码平台总能一劳永逸了吧?我的意思是,你也不想大清早起来就要盯着拧成麻花一样的蓝图来追踪数据流动吧,而且,低代码平台也不可能脱离前端而存在。所以,AI会取代前端吗?或许吧,但我知道,所有自称要“杀死前端”的挑战者全都败给了一个敌人:“真实的物质世界”,这个世界没有那么多含情脉脉的温床,也没有一成不变的需求,迎接开发者的只有客户谜一样的运行环境,恨不得把3A塞进去的诡异需求,以及不争气同事的、永远猜不到响应格式的API。而这也印证了那个软件工程的真理:“软件开发没有银弹”。前端的挑战者们还在围剿它,你要做的唯一一件事就是:像前端一样坚强、勇敢的面对这个站在最前沿,也最复杂的真实世界,而这正是它迄今不死的秘密。【全文人工手打,看到个别无良自媒体真的气得不打一处来,希望大家坚定自信,把自己的事情做好做精!】
哞客37422655...:前端不死只会逐渐凋零 下来登场的是AI开发工程师
AI求职实录
点赞 评论 收藏
分享
评论
30
155
分享

创作者周榜

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