阿里巴巴C2M技术部秋招(JAVA)

阿里秋招开始啦!!!!!

       又到一年应届生求职时。那么多公司,那么多职位,选择哪家公司哪个岗位作为自己的第一份工作是我们最最关心的事情。
一、首要选择是否在风口?
       风口(飞猪)理论大家都懂,C2M就是新零售(电商)的下一个风口。
       C2M是电商新兴的供应链模式,是打通供给侧与零售侧的关键通道,是产业互联网发展的产物,是数字化升级的必然趋势,了解更多C2M请看下面链接:
阿里组建C2M事业部 产业带的春天来了?
http://www.ebrun.com/20191204/362998.shtml
阿里为什么要组建C2M事业部?强化对货的控制!
http://tech.ikanchai.com/article/20191210/325607.shtml
二、发展空间怎么样
C2M技术部负责产地供应链、内贸、跨境、资金、物流等多个领域的业务与技术建设,拥有阿里集团最丰富的的业务&产品技术实践场景,同时我们又是一只初创技术团队,在业务、产品、技术、数据上有非常广阔的发展空间。
三、我们团队适合什么样的人
我们喜欢基础扎实、对技术有热情的同学加入,这里有师兄师姐手把手的指导,可以一起迎接各种业务、产品、技术的挑战。

再贴上我春招实习的面经,大家有疑问可以直接私我

会议总结(可能有部分遗漏):
1面(简历评估面),3月10日:
太久远了,完全不记得内容了,不过就是一些java基础的问题以及分布式技术的问题,后续我的个人学习中会有介绍。

2面(主管面),3月17日:
这一面也太久了,嗨,当时忘了电话录音,很尴尬,也是一些和简历评估面类似的基础问题以及项目相关
这里重点讲一下项目相关:我当时很sb,一直说自己项目里面没啥难度,完全没想到面试官为什么问项目,一直说很简单、没啥难度,大家千万别这样说,一定要从项目体现自己的价值
这一面能过多亏了内推人疯狂帮我说情,抬了一手才过。

问到了zk、redis、rocketMQ。当时面试官问的很笼统,我是从使用场景开始答,然后答如何实现功能(底层结构)这样答的,在下面学习路线中JavaGuide博客中都有,我也是根据那个来复习。

3面(boss面)1小时13分钟,4月8日:

首先自我介绍
项目相关
使用的java版本。jdk8
jdk8默认垃圾回收器。G1。答错了hhh,感谢评论区大佬提醒了下,是Parallel Scavenge + Parallel Old
介绍G1。
java8内存区域变化。方法区进入堆区
linux机器上查看所有线程状态。没答出来,后面看ps -T top -H。
while(true) new Thred会有什么现象。堆区OOM。(不知道对不对hhh,后来也去查了一下,没有找到满意的答案)
诊断java线程死锁,没答出来,后面查到 用jstack
concurrentHashMap讲一下。讲了底层结构以及底层如何使用,(如插入的时候底层的原理)size函数的流程。jdk1.8之后的变化
concurrentHashMap如何实现扩容。当时没回答出来,说不了解这个 但是了解HashMap的扩容,面试官让讲了HashMap的扩容原理。
synchronized原理。同步代码块开始加一条monitorenter指令,获取对象锁,结束时加一条monitorexit指令,释放锁。如果同步方法就是方法头部加一个acc_synchronized标志位。
volatile原理。只能加在变量上,主要为了保证可见性和有序性,添加内存屏障实现功能。写一个volatile变量后立即同步到主内存,都之前从主内存获取最新的值,都是通过内存屏障实现
synchronized和reentrantlock区别。
threadLocal原理。每个thred类有一个threadlocalmap变量,用来存放threadlocal,value键值对,这里的key为弱引用,在线程池情境下有可能发生内存泄漏问题。
快排原理以及堆排原理。
快排以及堆排是否稳定。
OSI七层模型都有啥。
TCP和HTTP属于哪一层。
TCP和UDP区别。
java中实现TCP和UDP的类了解吗。不了解。
java的io。只答出来bio、nio,具体没答出来。
java学习渠道,面试以外的。
有没有啥开源的博客什么的。
生活或者学习方面,个人经历过的一个最大的困难。
反问环节。1、实习生入职后日常流程。2、转正问题。3、boss眼中公司文化。

4面(交叉面)37分钟,4月9日:
之前有没有实习或者实验室项目经历。答实验室项目。
个人感兴趣计算机方面技术如何学习。实际上类似个人介绍
技术的实际应用场景。
简历上博客系统项目的技术栈。
nio了解吗。这个boss面问过,我boss面之后就去查了,但是只看一天,担心说不好,就说不了解,导致这一面差点挂掉,最后评级评到B+,大家引以为戒,知道就说,哪怕说错了都别说不知道。
concurrentHashMap在线程安全方面如何实现。答的和boss面差不多。
数据库的ACID特性。
数据库四种隔离级别。我自己多加了一些回答就是Innodb的默认隔离界别以及如何实现(MVCC)
快排以及堆排问题。和boss面一样回答。
快排最快以及最慢时间复杂度,在什么情况下会这样。
7的128次方有10的多少位。就是直接取对数。log 10底 7的128次方 就是答案。

5面(交叉面)39分钟,4月13日:
由于4面表现不太好,评级只有B+,boss大发慈悲,给我重新安排了一场交叉面。成功强行给我抬上A。这一面全程问项目。

6面(hr面)45分钟,4月20日:
从小学初中开始聊、到高中大学的经历,这样来了解我这个人。感觉这一面正常答就行,不要作死基本没啥问题。

最后加上我两个月春招实习的学习路线:

从头开始快速复习一遍java。https://how2j.cn/
粗读一遍深入了解java虚拟机。
java以及后台开发基础。https://github.com/CyC2018/CS-Notes CyC2018博客,特别全面。刚开始复习就看这个,上面一面的问题基本都在这篇博客中覆盖到了。
java深入以及分布式内容。https://github.com/Snailclimb/JavaGuide JavaGuide博客,CyC掌握的差不多了以后就开始看这个。
自己去搜了一份排序算法博客。https://blog.csdn.net/weixin_41190227/article/details/86600821
redis深入学习。https://www.cnblogs.com/kismetv/p/8654978.html
各种刷面经。

最最后给部门招招人:
链接:https://www.nowcoder.com/discuss/378370
个人感受,内推人极为负责,全程跟进,任何问题随问随答。
面试难度不是特别大。


别的组不好说,我们组是真的特别缺人,小组包括我实习生才3个人,兄弟姐妹们冲!!!

有意向的同学简历可以投递至: bruce.fany@alibaba-inc.com
邮件格式:姓名+21届校招实习生内推

#2021校招研发提前批开始啦##内推##阿里巴巴##秋招##实习##面经#
全部评论

相关推荐

这些问题答案后续会发文章尽量补充完整,大家要是知道的话也可以在评论区发表一下对于问题的见解~共同进步!1.首先问了一些关于工作地点、教育背景、为什么不读研之类的问题2.我看你用到了一个叫XXL-JOB的中间件,你了解过他的一些底层原理吗?3.那它底层的数据结构是怎么样的?你刚刚说的这些任务下发什么的都还是比较上层嘛对吧,比如我现在设置一个定时任务是十分钟触发一次,那它是用的什么数据结构去存储的?4.那我们刚刚说到优化,你这个布隆过滤器的作用是什么?5.这里面有两个问题啊,我们为什么不用redis呢,我感觉redis也可以实现这个功能呀?6.你怎么保证后续插入的数据和这个里面的hash map是同步的呢7.它是基于什么实现的,这个变量都已经存进去了,它怎么动态支持它去更新的8.它是怎么插入,是比如调用他的api还是用消息这些完成的9.刚刚你说到的热点课程,其实是比价类似于秒杀业务的时候,你怎么去保证很多人同时去抢课的时候数据的一致性的10.那这个锁是加在课程上面的还是什么的?计算机基础了1.线程和进程的区别2.这两个你分别举一个使用的场景3.说说java单例模式4.java对于这个单例模式有几种实现方式 5.说说TCP和UDP的区别6.再回到你刚刚这个项目,你这个里面的数据量有多大啊 估计没上线也就几百上千条吧,你觉得你这个项目如果上线之后,数据访问量突然从几千变到了上亿级别,你觉得可能会出现哪些问题7.怎么解决这个因为数据太大把数据库打爆的情况8.数据插入不成功怎么解决9.你觉得这个项目你遇到的最大的难点是什么 怎么解决的 反问环节:问的面试官对我之后的学习有没有什么建议指出了一些问题 软件工程科班的计算机基础这块儿再多看看;对于技术中间件的使用要多看看实现原理 多看看源码,要知道为什么用,为什么用它而不用别的投的晚,这是暑期实习的第一次面试,好紧张,面试官人很好,给的建议很中肯,确实还有很多要背的,算法加油啊啊啊#2025暑期实习# #Java面经总结#
点赞 评论 收藏
转发
1.项目2主要负责是哪块?2.堆场的数据是怎么拿到的?3.深拷贝和浅拷贝的区别?值传递和引用传递的区别?使用的时候有什么注意点?4.是否了解原子操作?i++是否是原子的?(不是,分为自增和复制两步)那i = i+1是原子的吗?(是)5.进程和线程的区别?1个线程挂了,其他线程会挂吗?什么时候用线程,什么时候用进程?举个例子。6.4核CPU一般开多少个线程上限比较好?(懵)线程之间通信有什么方式吗?7.多条线程对同一个变量进行操作的话,线程1赋值1,线程2赋值2,线程3赋值3,最后变量值是多少?8.如果数据库表很大,用户需要多次查找,应该对数据库层面做什么?(索引)9.索引是越多越好吗?不是,为什么?10.查一个数据用like的话走不走索引?11.数据库层面,对商品秒杀,用户买了商品库存-1,钱包金额扣钱,买成功的话涉及库存减少和金额的变化,当下单时库存减少,但付款没有成功,怎么办?(保证减库存和扣钱操作的一致性,要保证同成功同失败)12.事务的隔离级别?ACID?13.redis数据库和缓存不一致怎么解决?那先操作数据库再删除缓存,如何保证这两个操作都能成功?(加锁)14.知道什么是区块链吗?15.对排序算法了解吗?知道哪些?说下快速排序的思想?16.100个int型数据(<100w)进行排序,要进行升序排序,怎么做最快?反问:可以从哪方面再进行学习?答:实习生的话主要还是对于java基础、操作系统、数据结构层面基础的考察,因为项目涉及的一般比较简单,所以基本会在基础方面对比。(说的非常委婉了家人们...)面试官很好,不懂的地方还会提醒,很耐心,八股还得再背背,经不起考验TAT #蚂蚁一面#  #软件开发2024笔面经#
点赞 评论 收藏
转发
3 20 评论
分享
牛客网
牛客企业服务