阿里面经,详细到每个环节(已拿offer)

Java开发面经验,从各个环节进行了详细介绍,本部门面试中规中矩没有冷僻为难人的问题,我们的业务扩张,但是投递的人太少了,急缺人,你会发现进阿里并不难

自我介绍:哪个学校(本、硕),哪个专业,名字,技术栈(java+redis+mysql+nginx,方便面试官深挖的,会就此深入问基础问题,例如zookeeper等中间件,样式不求多,但说出的要不怕深入问)


一面师兄基础加项目面:


Redis是单线程的,为什么会这么快答:1、纯内存操作。2、单线程操作,避免频繁的上下文切换。3、采用了非阻塞I/O多路复用机制。4、使用hash结构、压缩表、跳表。跳表的好处?使用有序数据结构加快读取速度。

redis单线程,如何处理并发请求答:单线程多进程集群方案,主从读写分离。非阻塞IO 内部实现采用epoll。

Redis持久化有几种方式答:RDB和AOF。RDB指定时间间隔内将内存中的数据集快照写入磁盘,整个Redis数据库只包含一个文件,方便进行备份。AOF以日志的形式记录服务器所处理的每一个写、删除操作,支持每秒同步、每修改同步,每秒同步效率较高。

Redis命令用考虑并发吗?不需要。为什么?Redis所有单个命令都是原子性的。为什么具有原子性?Redis是单线程的。 每个命令是一个任务,这些任务都会由Redis的线程去负责执行,任务要么执行成功,要么执行失败。

选择一个项目说说?

答:特色1:单点登录:不需跨域的时候,redis存储共享信息,拦截后查cookie是否含token,用jwt解密查看用户名id等信息。登录和注册时,根据表单提交的信息,生成相应的token,用jwt给token加密并存入cookie。需跨域时:用urll带着参数token去跨域。

答:特色2:配置热部署:不需要重启服务,就让配置信息实时生效,例如常变化的配置(登录页、过期时间)。config.properties中放变化属性,config类中设置refreshconfig()方法,用资源加载器读取config.properties文件,并转为输入流,加载进新config.properties文件。问:若有很多台机器同时工作,怎么保证每台机器的配置文件都重加载?回答不上,面试官提醒用消息队列。

由于项目经验不足,项目这里回答的不好,所以后面的几面几乎不问项目了,都在问基础和场景,大厂面试就是不死抓短板,而是发掘优点,只要优点足够好就能通关。每面结束让我提问,我都会问我最大的缺点是什么,面试官的建议我回去会继续改进。

二面主管基础面:


HashMap线程不安全的体现扩容会造成死循环。怎样解决这个问题?1.7用头插法,1.8改为尾插法。这个改变有什么作用?JDK1.8是因为加入了红黑树使用尾插法,能避免出现逆序且链表死循环的问题(向右找地方查,向左get)。如果两个线程都发现HashMap需要扩容,它们会同时帮助扩容。 因为头插法,存储在链表中的元素的次序会反过来,如果条件竞争发送了,会出现环形链表。 之后当我们get(key)操作时,就有可能发生死循环。

字节码文件中都有哪些结构?Class文件中有魔数、主版本号+副版本号、常量池、访问标志、索引、字段表集合、方法集合、方法计数器。

了解spring 吗?例举一下Spring 框架用到的设计模式1、单例模式:spring创建的bean默认为singleton,对于类的实例提供一个访问它的全局访问点。2、工厂模式:BeanFactory功能(管理所有bean生命周期)。3、代理模式:aop中有体现,Jdk/Cglib。

二面的问题都不是很难,最后问为什么不读博?因为读博自己拿不定方向,怕研究了一个冷僻的方向,更喜欢在实践中研究落地,阿里的很多技术研究有不逊于博士。。。。夸就完了。如果来阿里想学到什么?想从业务中深入了解底层,跟牛人学习,以后参与开源项目等。


三面交叉面场景面:


微信抢红包算法,保证随机性?答:设共Y元,K人。每个人至少分到0.01元,剩(Y-K*0.01)元。把剩下的钱用(K-1)把刀切成K份----在剩余钱中随机取一个范围内的数,即为刀的位置,刀-剩余钱初始值=一份红包

抢红包如何保证每份红包有最多最少范围?答:https://blog.csdn.net/paincupid/article/details/82054647中的第二点有很详细的解答。


四面交叉面综合面:


面试官是个在美国工作的阿里云大佬,全程和蔼地让我把简历上的几个项目,详细描述特色功能、难点和亮点。这里注意尽量把业务和源码底层联系到一起,例如spring中的一些aop等。

1、app开发时间用了两个月,开发周期较长,是几个人一起开发的?答:一个人。

2、在这个项目中有没有人在带我,在哪里帮助了我?答:有一个同事带我,在很多需要经验判断的地方帮助我,例如栏目用ajax穿***行增加删除,两个ajax动作不同步导致经常出错,同事让我把ajax同步,加了代码{ajax:false;}。还有我做了图片瀑布流,但经常卡顿,同事教我进行调试查看每个js文件用的时间,把https://这样外来的引用下载,变为本地引用就不卡了。


今年的企业智能有点不一样,特别在疫情期间,我们做了很多,2020开年的这场疫情,带来了史无前例的亿人SOHO,让“企业数字化”的概念深入人心。

企业智能事业部肩负了阿里巴巴经济体数字化的使命和责任,在疫情期间,不仅锤炼出一套阿里经济体内部完整的企业数字化疫情防控系统,并积极投身于服务亿万用户的“健康码”、“疫情上报系统”的产品开发中,保障了社会各方能够顺利复工、协作和运营!负责阿里经济体内企业运营所需的数字化系统,包括:阿里大脑、人事、行政、财务、采购、法务、账号、权限、工作流及以阿里郎、音视频会议为代表的办公云,“企业数字化”是新崛起方向,如果你想做第一个吃螃蟹的人,投递我们。可加我微信23935731042,随时跟进度,安排面试



#阿里巴巴2021暑期实习##阿里巴巴##春招##校招##Java工程师##算法工程师#
全部评论
您好!请问目前保研了想找暑假实习可以投递么?
点赞 回复
分享
发布于 2020-04-05 18:23
请问ACM铜牌选手,没有任何项目经验,熟悉常见的算法和数据结构,能过贵部门的简历筛选吗,主要用java
点赞 回复
分享
发布于 2020-04-05 19:57
联想
校招火热招聘中
官网直投
综合面到底是个啥子?我四面也是综合面😂
点赞 回复
分享
发布于 2020-04-15 02:06
已经投了,查收下
点赞 回复
分享
发布于 2020-04-16 13:38

相关推荐

5 97 评论
分享
牛客网
牛客企业服务