阿里企业金融 后端一面面经

————3.15更新————
已过一面。今晚加了一轮笔试,两个题,阿里伯乐在线写,每题限时半个钟,不用运行,写完给面试官解释代码
1.合并k个有序链表,我试图用堆来优化k次遍历找最小值,然后发现我不知道Python怎么用指针建堆。。最后还是改成每次遍历k个指针找最小了
2.实现一个生产者-消费者模型,生产者和消费者各一个线程,生产者每次生成一个0~99的随机整数,消费者消费并打印
我没加锁,直接用wait+notify来实现,用volatile保证可见性。面试官一开始提示了一下说我怎么在线程里面直接访问了外部的对象引用,我听到就怂了,改成静态变量了,但是事后自己再思考并且在IDE上测试,感觉没问题呀?
题很简单,但是要一次写对得注意很多细节,建议大家平时自己也多写代码多练练手

自我介绍
你的项目流程说一下,一些细节怎么实现的
用到了Elastic Search,了解的深吗?(感觉每个面试官都对这个很感兴趣。。orz)
不深,然后就没细问了

基础知识:
网络,描述一下七层模型
三次握手四次挥手过程,客户端什么时候停止向服务端发送数据?(这里我答错了,应该是客户端发出FIN(第一次挥手)之后,就已经停止发送数据了)
HTTP,HTTPS区别

操作系统,描述一下进程的概念
说说进程的调度和通信机制
死锁四个条件
OS层面如何解决死锁
操作系统级别的线程锁有哪几类

数据库
范式,123范式的定义
范式只是个约束条件和指导标准,你们的项目中怎么运用它来约束表的设计?说说你的经历
索引,为什么用B+树,B+树如何查询、插入、删除(关键字,分裂&合并)
索引设计需要注意哪些问题?
问个经验性的问题,一个唯一索引A,B,C,和一个普通索引A,B,你会优先用哪个?如果加上一个无索引字段D作为过滤条件呢?

Java语言
你如何理解面向对象?(说了封装继承多态和自己的理解)
在内存层面,假设子类重写了父类的A方法,那么父类A方法和子类A方法在内存层面上有什么是不一样的?(没答上来,望dalao解惑)
你提到了公平锁非公平锁,说说ReentrantLock是如何利用AQS实现这两者的

Spring了解吗?Bean的生命周期/作用域变化?Mybatis了解吗?
没答出来 跳过了

JVM,简要介绍Java的垃圾回收算法?

算法题:
1. 单向链表 找中点(若总数为偶数,设为2k,则找第k个节点)
2.合并两个有序链表(LeetCode原题)

提问环节
不计提问环节,全程共80min左右




#阿里巴巴##实习##面经##Java工程师#
全部评论
同等二面...  你问的这个有深度多了
点赞 回复 分享
发布于 2020-03-10 11:17
楼主简历里面有写了解ssm吗?
点赞 回复 分享
发布于 2020-03-08 23:02
楼主是大三?
点赞 回复 分享
发布于 2020-03-08 19:22
问问楼主通知二面什么时候了吗?
点赞 回复 分享
发布于 2020-03-08 19:14

相关推荐

04-28 19:31
门头沟学院 Java
真烦好烦真烦:可恶的二手车贩子,居然对我们门头沟学院的人这么没礼貌
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
63
分享

创作者周榜

更多
牛客网
牛客企业服务