阿里 & 酷家乐:实习生面试

最近海投了十家公司,暂时有阿里两面(已凉)、酷家乐两面(大概凉了)、网易一面。前两个都是基础知识发挥得还可以,两家公司二面都凉凉。

阿里一面(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》看了一遍,感觉还是没有多大的提高)

作者:小潘东

本文来源于牛客网

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

CTF实战30 CTF题目练习和讲解五

该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关

3482
来自专栏我的博客

面试和笔试汇总

最近忙着找工作,也没有更新博客,今天一个朋友让我赶紧把博客更新下,说说最近的面试情况也可以好给他们一个参考,这就整理出来给大家分享~~ 笔试题目公开 get和p...

4546
来自专栏用户2442861的专栏

如何面试Python后端工程师?

http://blog.csdn.net/yueguanghaidao/article/details/49638261

3141
来自专栏java达人

现实生活中的SOLID原则

作者:Erik Dietrich 译者:java达人 来源:https://www.infragistics.com/community/blogs/erikd...

1838
来自专栏企鹅号快讯

Python的新手指南,教你如何变编程大佬级别的

新的Python?下面是基础知识的细分,包括语言的历史,使用者的语言以及Python 2与3的区别。 Python是一种编程语言,对于编写快速而简单的脚本非常有...

2258
来自专栏idealclover的填坑日常

从零开始的 ubuntu 18.04 重装之路

接下来的日子要开一个大坑 还不是自己给自己开的大坑 因为自己的windows10+ubuntu18.04系统出了一些故障,所以被迫重新安装了ubuntu 18....

6752
来自专栏牛客网

美团大零售事业群-闪购 一面(已通过)

以前以为坚持就是永不动摇,现在才明白,坚持是犹豫着退缩着心猿意马着,但还在继续往前走。——《意林》

961
来自专栏web前端教室

【Js结构】用vuejs做一个简陋但好使的播放器(二)

上一节写了做一个简陋的播放器,需要的大致的步骤,《【从零开始】用vuejs做一个简陋但好使的播放器(一)》。 其实就是简单的记了一下流水账,这一节咱们来“设计一...

2156
来自专栏精讲JAVA

程序员们,曾经是否有个bug让你开始怀疑人生

相信程序员们都有一个共同的女朋友。这个女朋友总是阴魂不散,时不时还不忘调戏下男朋友程序员,而且你依然对她欲罢不能、想入非非。

1092
来自专栏牛客网

【2018秋招iOS面试总结】(渣渣本科生)

本人是非985211学校,非计算机专业,技术一般,基础较差。 最开始秋招的时候,一线互联网基本上都投了,但是很多都被刷了,有的是刷了学校,有的是刷了四级(我四级...

3989

扫码关注云+社区

领取腾讯云代金券