面试阿里云,遇到了找实习最逆天的一次拷打

一开始问了一下项目,知道没有上线后就不感兴趣,直接开始拷打八股,于是就有了我从未见过的这次八股,由于这次八股的内容实在过于逆天,本人特地写下来供大家分享,也向各位求助一下这些题目。(百分之八十的题目都不会)

1.get和post的本质区别是什么?

我一听他说本质区别就顿感不妙,然后直接八股吟唱“get是请求post是修改,get放在URL中post放在请求体重,get不安全post安全......”完了他直接问我“所以他们的本质区别是是什么呢?”我停顿半分钟后实在想不出来,告诉他我不会。

2.http和rpc的本质区别是什么?

由于本人对rpc了解的不多就直接说不会,我猜测是编码不同?rpc需要序列化和反序列化,http支持更多文件形式?

3.请你说一下从浏览器中输入一个url会发生什么?

八股吟唱结束后继续追问拷打。

4.你说输入url后会进行dns解析找到ip,那假如直接在浏览器输入ip地址会怎么样?能访问到吗?和输入url有什么不同?

本人直接懵逼,这里开始胡言乱语了。

5.你说dns解析的时候有的是递归有的是迭代,为什么要这么设计?为什么不能都是迭代或者都是递归?哪一种比较好?

继续胡言乱语。

6.tcp为什么要三次握手,两次不行吗?

八股吟唱。

7.第三次握手除了防止已失效的连接重写连接到服务端,还有别的原因吗?

不知道,憋了二十秒钟不知道说什么。

8.并发方面了解吗?hashmap是不是线程安全的?如果让你来实现一个线程安全的hashmap你要怎么设计?如果不用j锁你要怎么设计?

9.juc知道吗?juc下最重要的类是哪一个?

10.java中有哪些加锁的方式?除了synchronized和reentlock还有别的吗?

11.jvm了解吗?jvm垃圾回收讲一下。

12.jvm垃圾回收的时候,有那么多gcroots,怎么快速定位到gcroots的?

13.堆外内存有什么作用?

14.分布式锁服务器挂了怎么办?

我回答关于Redis高可用的主从集群哨兵,然后他问我你说的这些和分布式锁有什么关系?

15.那我换个问题,Redis为什么可以用来作分布式锁?

脑子里已经完全乱了,我就说Redis是单线程

16.既然redis是单线程那它挂了岂不是拿不到锁了?

憋了半天想了个红锁,他也没继续问,估计也没答到点上。

17.rabbitmq如何保证消息顺序性?你项目里面说你实现了用户点赞功能,如果用户频繁点赞取消,那你如何保证点赞和取消赞的顺序是一致的,保证最终结果的正确性?

面到后面感觉他心情却是不太好,太多地方没回答出来了,然后进入反问环节,我就腆着脸问他能不能给些学习建议,他给我提了六七分钟的建议。说建议多看看基础的东西,校招和实习最看重的还是基础的地方,特别是计算机网络和操作系统这块。

面完后越想越郁闷,本人看八股也看了两三个月了,但这些题目大部分我是真的没见过,希望能有大佬帮忙看看(特别是俺加粗的地方,求求了)。

#八股##求助##阿里##字节##悬赏#
全部评论
get和post本质上有啥区别看懵了,好像本质上没有区别,不都是tcp的一种表现
11
送花
回复
分享
发布于 04-24 11:01 福建
我感觉他的意思是,分布式的jvm不同导致直接synchronized就不能锁住另一个系统的线程,所以就要依靠一个第三方的redis这样的来实现锁。然后如果整个redis挂了话怎么办??咱也不是很懂面试官想问什么
3
送花
回复
分享
发布于 04-24 00:33 广东
秋招专场
校招火热招聘中
官网直投
get和post本质上没有区别,约定的两种格式
3
送花
回复
分享
发布于 04-26 17:01 上海
mark
2
送花
回复
分享
发布于 04-24 00:14 湖北
感觉好难
2
送花
回复
分享
发布于 04-25 10:25 广东
感觉这个面试官确实有水平
1
送花
回复
分享
发布于 04-24 22:15 安徽
其实还好,不过作为实习难度有点大,秋招中厂以上级别的都这个难度
1
送花
回复
分享
发布于 04-25 17:43 湖北
mark
点赞
送花
回复
分享
发布于 04-24 02:11 湖南
这八股确实逆天
点赞
送花
回复
分享
发布于 04-24 11:22 四川
帮顶,这问的太自由了
点赞
送花
回复
分享
发布于 04-24 23:12 四川
本质区别应该就是问你底层设计理念有啥不同,适用于不同场景之类的吧,就比如post一次请求有两个tcp包,get一次是一个tcp包
点赞
2
回复
分享
发布于 04-25 13:45 北京
问的好难, 感觉不想招人的样子
点赞
送花
回复
分享
发布于 04-25 14:29 湖北
14-16.应该是要说redisson的红锁吧 17.rabbitmq不清楚,kafka是分区里面的offset保证了顺序性
点赞
送花
回复
分享
发布于 04-25 22:31 广东
M
点赞
送花
回复
分享
发布于 04-26 13:07 河北
mark
点赞
送花
回复
分享
发布于 04-27 10:25 新疆
http是一种传播超文本数据的网络传输协议,而rpc是远程过程调用,本质上是一种“能在远程像调用本地函数一样的通信抽象”,他没有具体约定的实现方式,一个本质上是对超文本的网络传输协议,而一个是对通信接口的抽象思想。rabbitmq的话,首先mq核心是一个队列,先进先出保证顺序,为了不让队列破坏,首先是主备镜像提高可用性,其次可以选择消息队列持久化,发送时如果对顺序性有要求,可以设置消费者确定消费完消息ack才能删除,这样下来一套就保证了消息的顺序性。这个一致还是比较简单的,因为是一个用户,这种单机只需要因果一致性约束就能保证顺序一致,所以可以在客户端为每个操作生成偏序id,id递增消费来保持一致性
点赞
送花
回复
分享
发布于 04-27 11:34 上海
m
点赞
送花
回复
分享
发布于 04-27 20:19 湖北
mark
点赞
送花
回复
分享
发布于 04-28 10:49 美国
工作中真的要考虑这么细的工程问题吗?
点赞
送花
回复
分享
发布于 04-28 12:28 山西
m
点赞
送花
回复
分享
发布于 04-28 22:08 广东

相关推荐

一面(4.291. 接口和类继承区别2. 如何创建一个线程,若干种方式,推荐哪种?3. 常见垃圾回收器和回收算法?回收原理和效率比较4. 日志查看回收前回收后内存变化不明显,原因是什么?5. 如何减轻老年代的数量压力?fullGC频繁怎么解决?6. mysql事务和事务底层依赖? 跨库事务了解过吗?7. shell命令问了几个(文件大小排序查看、统计字符(这块漏了,不会欸8. 查看java相关参数,jconsole、jstat、jstack用过吗?9. 拷打项目,讨论项目细节实现--------------------------二面(5.8两个场景题1. 如何确保多个链接对mysql的查询和更改能够实现一致性,不发生并发安全问题。(不是多线程安全,好像是多进程或是多个分布式节点的安全问题。我从乐观锁和悲观锁两个角度答了2. 高并发场景下如何实现分布式对主库的操作,缓解单一节点的压力(我说用分布式+消息队列,面试官好像说太复杂了--------------------------三面(5.91. 项目拷打10分钟,讲了项目难点、并发如何处理的2. JVM和JDK常见的锁、分布式锁、为什么用zk锁不用redis锁、如何用mysql实现锁功能、3. OOM,遇到哪些OOM,如何处理你遇到的OOM,实战过吗?4. 阅读过哪些中间件的源码?(汗流浃背5. 线程池相关,如何设置线程池,参数该如何设置?如何考虑的?5. 奖项和奖学金,个人成绩排名?考研还是保研?(汗流浃背6. 个人问题:家哪里的?性格,你是I人还是E人?能过来几个月实习?-------------------5.13hr面,晚上已OC-------------------全程没有算法欸,也不知道怎么个事,准备回头问问同事 #我的实习求职记录#
查看16道真题和解析 我的实习求职记录
点赞 评论 收藏
转发
阿里云这回二面好顶,问了几个平时没咋想过的问题,特此记录一下面试时间:40min 八股和讨论+15 min 左右算法面试内容:1. 自我介绍2. TCP 全链接与半链接端口扫描,怎么用原始套接字实现的,原始套接字怎么完成三次握手的(拷打我的端口扫描器项目)3. 你熟悉哪些语言,讲一讲主要特点和优势,哪些场景适合用哪种语言开发4. 你提到 Python,为什么 Python 的深度学习库的运算速度这么快,他的底层是怎么做优化的5. Python 作为解释性语言效率不高,那有没有提高他效率的办法让他逼近 C 语言的效率(开放题)6. 能用 C 语言实现面向对象的编程模式吗,如果可以你要怎么实现(开放题,这里聊了很久,都扯到实现虚函数表了,我记得在网上看人讨论过,求一个大佬解惑😂)7. 你能介绍一下 stl 库中常用的容器吗,他们的底层实现是怎样的8. 你提到红黑树,介绍一下红黑树的特性吧9. 红黑树怎样保证他查找的时间复杂度10. 对比一下 vector 和 list,说明一下各自的优势与适用场景11. 如果我有一段数据,可以确定他的大致大小,如果这是个顺序数据,你准备采用什么样的数据结构存储12. 接上题,在存储空间敏感和时间敏感的情形下,你要采用什么样的数据结构,为什么13. list 和 vector,如果都顺序访问,哪一个的访问速度最快,为什么(这个没答出来,我觉得 vector 会比 list 快,因为他的取址只需对地址加减,list 要赋值,寄存器加减似乎比赋值快些。不太懂,求个大佬解惑😂)14. 再接上题,如果我有很多个进程申请了远大于物理内存的空间,操作系统怎么做15. 常见的虚拟地址管理方法有哪些16. 介绍一下进程与线程,两者有什么差别17. 进程与线程怎么管理的,涉及哪些数据结构18. 讲讲常见进程调度算法,分析一下各个方法的优缺点19. 出算法题之前出了个代码改错,大致是:在一个多线程访问的临界区内,先查找 map 中的 key 值,再更改 map 一个固定的键值对,加锁操作只保护更改操作,问这样加锁有哪些问题20. 算法题 lc 390总结:有点汗流浃背了,感觉是目前遇到的最难的面试。没什么死板的八股,面试官从的回答中拓展很多点出来考,不过感觉基本接住了,希望阿里云高抬贵手
阿里云二面63人在聊 查看19道真题和解析
点赞 评论 收藏
转发
51 299 评论
分享
牛客网
牛客企业服务