阿里智能信息二面挂,至此暑期无缘阿里

阿里信息二面

6.1---

最汗流浃背的一集,先是自我介绍,然后问了一下职业规划。
①一个线程和协程之间区别
②协程的两种类型(这我真不会)

之后就是两道场景题手撕
①给定一个input文件,文件中有大量的不重复的数字,数字的范围不超过七位数,内存空间只给2MB,如何排序后输出到一个ouput文件中。

这里我首先说用归并排序的思想来做,每次从文件中读取2MB数据到内存中进行排序,再将文件输出到一个result_1.txt文件中,以此类推得到result_n.txt文件,由于这些临时文件内部有序,可以每次从这些文件中读取下一个数字,依次将最小的数字写入到ouput文件中。(面试官说可以,但是不太满意,因为这种方式会产生大量的文件io,效率低下,要求我用一次读写io来实现)
之后就是第二个思路,由于数字的范围优先,那我就可以开辟一个固定大小的数组,然后将数字作为下标,将对应下标的数组的值置为1,这样就能表示这个数字是否存在,但是这种思路会超内存,因为10^8 * 8 = 10MB(大约),超出了2MB的要求。要我考虑能不能用bit做,我说了思路,每个字节的01表示8个数字的是否存在,面试官认可,接着又抛出第二个问题:如果是数字在某一区间比较稀疏,如何优化效率

最后问我知不知道bitmap,让我用bitmap做(不会)

②给定一个十六进制数组(byte[]),如何将十六进制数转换成对应的字符串类型,例如{0x11,0xff} -> "11ff",这个对来说简单了,先弄一个16长的数组 []string, 下标对应字符串,然后遍历十六进制数组,将十六进制数拆分成4bit两部分,每个4bit转换成十进制,拼接对应数组[]string下标中的字符串即可

代码如下:
for i:=0;i<len(nums);i++{
left := int8(nums[i]) &amp; int8(0x0f)
right := int8(nums[i])  > 4
result += str[left] + str[right]
}

6.3-----------------------------已挂
学到了很多东西
但是技术栈不太契合,做C++的,算法第一题bitmap没做出来,留下了遗憾吧。

至此阿里所有部门都挂了,大概之后都和阿里无缘了。
全部评论
搜架的?面试内容跟我一模一样😂
1 回复 分享
发布于 2024-06-03 16:11 浙江
打印简历,彩色的还是黑白的
点赞 回复 分享
发布于 2024-06-04 11:07 河南

相关推荐

全程50+min1.自我介绍2.先做题lc56.合并区间,最开心的一集3.在本地ide上用的AI代码助手是哪家的,你还用过哪些相关产品,相比之下有什么优点(我用的是通义灵码,狠狠地舔了一波)4.先拷打一下项目(我做的是尚硅谷的乐尚代驾),问的问题没有那么深入&nbsp;&nbsp;&nbsp;&nbsp;a)司机抢单分布式锁的实现?&nbsp;&nbsp;&nbsp;&nbsp;b)如果司机取消抢到的订单,整体业务会有什么变化?&nbsp;&nbsp;&nbsp;&nbsp;c)怎么使用drools编写规则的,为什么要用(大致是这个意思)?&nbsp;&nbsp;&nbsp;&nbsp;d)分布式事务不用Seata的@GlobalTransactional注解的话,你会如何实现?5.Java基础&nbsp;&nbsp;&nbsp;a)反射为什么要比普通调用速度慢?(没答出来)&nbsp;&nbsp;&nbsp;&nbsp;b)枚举类是可继承的吗?为什么?(忘记了,我跟面试官说我猜是用final修饰的)&nbsp;&nbsp;&nbsp;&nbsp;c)创建对象的方法有哪些?&nbsp;&nbsp;&nbsp;&nbsp;d)ConcurrentHashMap是线程安全的吗,原理是什么&nbsp;&nbsp;&nbsp;&nbsp;e)介绍线程池的corePoolSize,&nbsp;maximumPoolSize,&nbsp;workQueue以及他们之间如何相互作用的?&nbsp;&nbsp;&nbsp;&nbsp;f)两个线程同时执行++i操作,为什么会发生问题?&nbsp;&nbsp;&nbsp;&nbsp;g)两个线程同时对一个volatile修饰的变量进行修改,会发生这种问题吗&nbsp;&nbsp;&nbsp;&nbsp;h)Synchronized和Reentrantlock的区别?&nbsp;&nbsp;&nbsp;&nbsp;i)ThreadLocal原理?&nbsp;&nbsp;&nbsp;&nbsp;j)讲一下强引用和弱引用?&nbsp;&nbsp;&nbsp;&nbsp;k)用过哪些多线程编程的相关类?(没想起来,只答了CompletableFuture还有相关使用)6.Redis&nbsp;&nbsp;&nbsp;&nbsp;a)关于磁盘IO(我说了持久化机制,应该……可以吧)&nbsp;&nbsp;&nbsp;&nbsp;b)Hash数据结构的rehash,主要细问了渐进式hash。&nbsp;&nbsp;&nbsp;&nbsp;c)Redis是单线程吗?为什么会有这么高的性能?7.Mysql&nbsp;&nbsp;&nbsp;&nbsp;a)Mysql使用的存储引擎中什么是支持事务的?&nbsp;&nbsp;&nbsp;&nbsp;b)InnoDB用的什么数据结构?B+树相比B树的优点是什么?&nbsp;&nbsp;&nbsp;&nbsp;c)可重复读和读已提交是如何实现的?&nbsp;&nbsp;&nbsp;&nbsp;d)Undolog链什么时候会删除?(没有关注过这个,没答出来)&nbsp;&nbsp;&nbsp;&nbsp;e)索引相关,学生表查询name和score,你会如何设计索引?8.Spring&nbsp;&nbsp;&nbsp;&nbsp;a)Spring&nbsp;AOP原理?&nbsp;&nbsp;&nbsp;&nbsp;b)Transactional注解的原理是什么?&nbsp;&nbsp;&nbsp;&nbsp;c)关于Bean的作用域相关的问题,使用什么注解来设置作用域?(真忘了)&nbsp;&nbsp;&nbsp;&nbsp;d)Spring是如何解决循环依赖的?大致就记得这么多……目前面试表现最好的一次,也是八股问的最多的一次
阿里巴巴一面412人在聊 查看30道真题和解析
点赞 评论 收藏
分享
评论
11
28
分享

创作者周榜

更多
牛客网
牛客企业服务