阿里 & 酷家乐:实习生面试
最近海投了十家公司,暂时有阿里两面(已凉)、酷家乐两面(大概凉了)、网易一面。前两个都是基础知识发挥得还可以,两家公司二面都凉凉。
阿里一面(3.21 26min)
刚好买了中饭回宿舍打开正准备吃的时候,我手机响了,我定睛一看0571这不是阿里的号码么,顿时就慌了,马上找耳机、拿简历出来。面试官小哥哥介绍了一下自己是阿里新零售部门的面试官,问我现在有没有时间,想和我交流交流。emmm...我说有空有空,然后就要我自我介绍一下。当时特别紧张(一是这是我人生中第一次面试多少有些慌,二是感觉自己准备得还不是特别充分,想在自己最梦想的公司的面试官前展示得更好),自我介绍的时候声音都在抖(有一两句喉咙憋住说不出话来,我说刚刚我跑上来的有点喘,小哥哥说没事没事),word天,当时脑子里就想着凉凉了凉凉了。面试官哥哥肯定感觉到了我的紧张,没有直接进入正题,而是问了我在学校都学了哪些课程,聊了会儿天。慢慢我就不紧张了,虽然后面问题感觉回答得不是很好,应该拓展地解释一下的,但还是很感谢面试官小哥哥呀,真是太贴心了~
自我介绍
学了哪些课程?开源项目了解过哪些?
进程和线程的区别
什么时候发生死锁?如何解决?(死锁产生的四大条件,通过破坏四个必要条件之一,如调整加锁顺序、设定加锁时限超时放弃、死锁检测、死锁避免的银行家算法可解决死锁问题)
可重入锁为什么不会导致死锁?(因为上一个问题我回答了不可重入锁会导致死锁,面试官接着就问了可重入锁的原理,我就说了一下第一次加锁就获取该对象的Monitor,当Monitor计数器不为0时,只有获得锁的线程才能再次获得锁,并且每次加锁Monitor计数器就会加一解锁就会减一,当计数为零就释放对象的锁了)
项目相关:内存数据库里存了哪些东西?心跳检测和断线重连是怎么实现的?
ConcurrentHashMap和HashMap的区别(我说我先将一下HashMap吧,put方法get方法扩容机制blablabla,面试官:你讲一下两者的区别就行啦,估计是知道我们都背得滚瓜烂熟了)
Redis应用场景(不顺便问问内部的数据结构么...)
介绍一下快排(复杂度也没问,就说了一下步骤和原理)
何时毕业?你的未来职业规划是怎样的?(我说我想学习一下高并发、分布式相关的)
你还有什么要问我的?(我问了部门平时主要业务是什么,后端主要做什么工作)
面完后我感觉自己肯定GG了,当时已经做好看到“已回绝”的打算了,结果我打开网页一看——“待安排面试”,心里也是舒了一口气。
阿里二面(3.27 32min)
当时约好酷家乐一面的,然后突然阿里的电话打过来了,说要进行二面。谁知道面试官看我简历里有一个蓝桥杯的省奖(本来只是为了凑简历的获奖情况一栏...毕竟省奖太烂了跟没有一样)
自我介绍
项目经历
你觉得在大学里学哪方面的东西更有价值?
数据结构的理解、区别、优缺点、实现原理(数组、链表、栈、队列)?
动态规划、贪心算法有没有解决过实际问题?
数据库三大范式?
进程调度算法?适用场景?
操作系统虚拟内存管理?
面向对象与面向过程的区别?
二面回答太烂了,面试官面了30分钟就不想问了。本来自己准备得多的JVM、计算机网络、多线程、数据库全都没问,后来想想应该要引导一下面试官往那方面问的。哎,还是自己太渣...
酷家乐一面(3.27 55min)
酷家乐的面试体验确实挺好,每面都会有HR和我约时间。一面回答得不错,毕竟都是基础问题,后面就聊了会儿天啦。
介绍一下项目
第一个项目:有深入了解消息队列吗?消息推模式和拉模式?如何保证消息的一致性?单聊群聊怎么实现?离线消息的存储?消息的可靠性?Netty IO模型?多路复用epoll?比较好的实现AIO的方式?
第二个项目:断点续传、极速秒传如何实现?md5码怎么生成的?Redis Cache用AOP如何实现?自己如何扩展?Redis的使用场景?Redis缓存过期策略(本来讲的lru、ttl、random,但面试官想问的是定时、定期、懒汉式删除三种方式)?
MySQL相关(存储引擎、索引结构、查询优化、隔离级别、事务机制)?可重复读是怎么实现的?
Java方面哪些部分比较了解?(我说的JVM、多线程,面试官就说聊多线程吧)
线程池在项目里的应用?线程池的初始化参数(我说的分为CPU密集型和IO密集型不同场景去设置,面试官说这个只是理论上的,实际应该如何做呢)?
Netty压力测试的上限?有看CPU使用率吗?线程池里有没有任务堆积的情况?
线程池阻塞队列用的是什么?如何实现阻塞的?
可重入锁的实现?
CLH队列的数据结构是怎么样的?任务完成后怎么让后面的任务获取到同步状态的?通过什么方式唤醒的?
CAS的弊端(高并发情况下的性能问题)?JDK后期版本对atomic包下的类怎么优化的?竞争激烈条件下如何优化?
ConcurrentHashMap如何解决高并发的问题?(启发我上一题的思路,只知道分段锁,面试官说这个确实问得有点偏了,其实是要我讲LongAdder的实现)
算法方面怎么学习的?通过什么方式学习到哪些算法知识?学了数学方面的课程吧?
看你也有个博客,以什么方式去维护呢?
看过哪些书?
有维护过Linux服务器吗?Linux命令说一下?有些过脚本吗?
JVM有过什么排错经验呢?
你有什么想问我的?
酷家乐二面(3.28 55min)
也是个小哥哥,一开始就要我拿纸拿笔,我就知道要考算法啦,完了完了。
有两个数组,一个数组里存放的是正整数,另一个数组里存放的是负整数,都是无序的,现在从两个数组里各拿一个,使得它们的和最接近零。
有一个无序的数据流,维护已经有的数字里的中位数。
判断两个链表是否相交。
场景设计题:图书馆借书,每个人通过一张卡借书,一个人能借10本书,每本书上限借30天。如果书借了超过30天,需要罚款每本一天一元。如果当前有超期的书或有欠款,就无法继续借书。针对这个场景,完成三个功能:借书、还书、还款。
前两个题都答得不好,虽然都看过类似的题型,但没有真正搞懂,真正考的时候就忘了。
总结
还是怪自己太菜鸡,内心有侥幸心理,知道自己算法渣还不努力补上来,就心想着面试碰碰运气应该不会怎么考吧。海投了这么多,该沉淀沉淀自己了,知道自己的不足在哪儿了。大家春招加油,都能拿到理想offer~顺便请教一个大家是如何学好算法的?(leetcode刷了点题,《剑指offer》看了一遍,感觉还是没有多大的提高)
作者:小潘东
本文来源于牛客网
——————————
牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员求职实习信息
- 程序员学习交流社区
阿里 & 酷家乐:实习生面试的更多相关文章
- 腾讯,华为,阿里…7家Java后端面试经验大公开!
感觉面试还是主要围绕简历来问的,所以不熟悉的东西最好不要随便写上去.项目和基础都很重要,整体的基础知识的框架可以参考GitHub 上 CYC2018的博客,分类很全,但是深入的学习还是要自己去看书,写 ...
- 学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》
我们分享的上一篇文章是一位学长在大三的时候面试阿里实习生成功的经历的分享,其实就像学长在上一篇文章最后说的那样“面试并没有想的那么难,运气也会占一部分.”,其实我个人觉得,对于我们而言,自己越努力就会 ...
- 2015年阿里实习生面试Java研发工程师 小记
5月5日,广州,阿里实习生面试,Java研发工程师,完全被虐orz 几乎没有Java项目开发经验,接近零基础,去水了一发,毫无悬念的被刷了..RP也是杠杠的,准备过的题目一个都没被问到,算法题也是一条 ...
- 2014阿里巴巴研发project师暑期实习生面试经验
2014阿里巴巴研发project师暑期实习生面试经验 作者:林子 Blog: http://blog.csdn.net/u013011841 时间:2014年8月 出处:http://blog.c ...
- 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转
感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-- ...
- 阿里钉钉Android实习面试也太太太太难了吧,对算法的要求堪比字节
本人研究生在读,在2月26日找了师兄内推阿里钉钉团队,28号接到了约1面的电话.幸好我提前准备了一个多月的样子,刷面试题.刷LeetCode(面了之后才觉得自己刷少了),对于我这样一个实习生来说题目还 ...
- 爱奇艺、伤酷、乐视 vip 解析视频网站
爱奇艺.伤酷.乐视 vip 解析视频网站 :http://www.nongshenghuo.com:805
- 联想北研实习生面试-嵌入式Linux研发工程师
8月中旬暑假去联想北研参加了实习生面试,面试职位是嵌入式Linux研发工程师.投完简历第二天,主管回复我邮件,意思是说随时来面试,到北研时候给他打个电话就行.于是我回复条短信表示感谢,并约好时间第二天 ...
- 2017腾讯OMG实习生面试总结
2017腾讯OMG实习生面试总结 一面 一面有两个面试官,轮着来的,一共是一个半小时,中间等了10分钟左右.结合简历问了问项目,也考察了基础,手写了两道简单的算法题.问题包括: 第一个面试官 1.自我 ...
随机推荐
- JAVA_SE基础——61.字符串入门
public class Demo1 { public static void main(String[] args) { String str1 = "hello"; Strin ...
- 分布式系统之消息中间件rabbitmq
分布式系统之消息中间件rabbitmq 博客分类: 感谢: 一般php 用rabbitmq java 用activemq http://spartan1.iteye.com/blog/11802 ...
- Mego开发文档 - 索引
Mego 开发文档 Mego 快速概述 主要特性 获取Mego 使用流程 模型 查询 保存数据 入门 Mego 快速开始 创建项目 安装Nuget包 创建连接字符串 创建模型及数据上下文(添加引用) ...
- Delphi Web开发连载 --ThinkDelphi (序)
如果把Delphi比作男人,那他曾经独步天下,笑傲江湖过: 如果把Delphi比作女子,那她曾经貌美如花,倾国倾城过! 但那只是历史,那只是曾经, 弹指一挥间,Delphi却似乎英雄迟暮,美人已老.. ...
- Django 使用celery任务队列的配置
celery 情景:用户发起request,并等待response返回.在本些views中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验,比如发送邮件.手机验证码等. 使用 ...
- jacascript DOM节点——节点获取与选择器API
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM 操作必须等待 HTML 加载完毕之后,才可以获取节点:有两种方法: 把 script 标签放到代码 ...
- Microsoft CRM-QueryExpression 成员
名称 ColumnSet 获取或设置要包含的列. Criteria 获取或设置过滤查询结果的复杂条件和逻辑过滤器表达式. Distinct 获取或设置查询的结果是否包含重复的实体实例. Entit ...
- 关于Goldwell平台推出赠金及手数奖励
关于Goldwell平台推出赠金及手数奖励 Goldwell平台是一家拥有30多年现货黄金经验平台,平台位于柬埔寨金边,是一家国际衍生品的经纪公司.Goldwell平台它对柬埔寨金融市场和客户绝对的承 ...
- SocketServer源码学习(一)
SocketServer其实是对socket更高级的封装正如官网上说的:The socketserver module simplifies the task of writing network s ...
- [Other] Nuget 构建服务器与常用命令
公司出于某些原因需要自己在内部网络搭建一个私有的 Nuget 服务器,而且要运行在 Linux服务器上面.如果说 Windows 下搭建的话很简单,直接在项目当中引入 Nuget 的库就 OK,这儿的 ...