写点什么

京东丨阿里丨携程面试总结,已成功拿到京东 offer

发布于: 2021 年 05 月 06 日
京东丨阿里丨携程面试总结,已成功拿到京东offer

阿里巴巴(一面)

阿里找了一个前辈内推的,准确来说应该是直推,是他帮我直接录的简历,他本科进的阿里蚂蚁金服,厉害吧?是真的佩服。第一次在官网上填资料,想想马云有多出名,想想蚂蚁金服这样的顶级技术,有些兴奋,有些期待。

录完简历后等待简历评估,原来,找内推不一定能得到面试机会,能不能得到面试机会要经过简历评估(我这才知道,原来内推免笔试可不是那么容易的),毕竟内推能免去在线笔试直接面试,互联网第一梯队像百度、阿里,腾讯的笔试真的很有难度,做过前几年这些公司的笔试题,真的太难了。在阿里的校招群里看到很多研究生研究算法,前端,Java 研发的,简历评估后直接变成已回绝没有得到面试机会。心想,我一个研究生,虽然 Java 基础不错,三大框架也很熟悉,项目都是自己设计的需求,简历也就一张纸,究竟能不能得到面试机会?


填完资料的一个星期后收到了支付宝的面试电话,突然变得好紧张,居然得到了面试的机会。

自我介绍

  1. 简单的介绍一下你的项目

  2. 一个有 500 个用户的广播系统,你怎么做性能优化

  3. 当用户提交请求后,却立即按撤回按钮,涉及性能的数据落地问题你怎么处理

  4. Lucene 底层实现原理,它的索引结构

  5. ibatis 跟 hibernate 的区别

  6. ibatis 是怎么实现映射的,它的映射原理是什么

  7. Java I/O 底层细节,注意是底层细节,而不是怎么用

  8. 你对 mysql 有什么了解

  9. 说一下数据库事务的四个特性,为什么 mysql 事务能保证失败回滚

  10. mysql 数据库的锁有多少种,怎么编写加锁的 sql 语句

  11. mysql 什么情况下会触发表锁

  12. 页锁、乐观锁、悲观锁 tcp 三次握手的过程

  13. 进程跟线程的区别

  14. redis 的操作是不是原子操作

  15. ArrayList 跟 LinkedList 的底层实现原理,使用场景

  16. B+树

  17. 一道算法题,在一个整形数组中,有正数有负数,找出和最大的子串

  18. 动态规划的思想

  19. 你有什么想问的

阿里一面过后变得怀疑人生,真的好多不会好多底层原理没答出来,第二天查状态,变成已回绝了。原来学习不能只学表面,作为一名研发人员,只知道怎么用是不够的,更多的应该知道底层原理,不然出现了性能瓶颈你怎么优化?你怎么扛得住每秒千万甚至亿的并发量?

有很多底层问题没答出来,接下来干嘛?学啊!

携程(一面)

携程又找了内推,直接面试。

  1. 自我介绍

  2. 介绍一下项目

  3. 你的并发项目有做过压测吗

  4. haspmap 的底层实现原理,怎么解决冲突问题

  5. haspmap 是否线程安全

  6. object 对象的常用方法

  7. 你有什么想问的

携程一面后被淘汰,其实问题很简单,当初被淘汰了感觉很不解,有些郁闷,只不过是稍微犹豫了一下线程安全问题而已,最后也答对了。但现在想起来,连 haspmap 是否线程安全都要考虑,根本就不是一个合格的 Java 工程师,被淘汰也是理所当然的。突然感觉自己学的好不扎实,变得有些焦虑,连 java 基础都存在问题,接下来干嘛,学啊!

被阿里跟携程拒绝后的一个多星期,没有接到任何面试电话,笔试了美团、今日头条,都挂了,变得没什么心情,其实之前也学了很多 Java 的技术,但还是不牢固不全吧,继续补吧。

虽然很低落不过还是坚持天天看书。去牢实各种 Java 基础,thinking in java 再看一遍;多线程,concurrent 包;集合类,每一个集合类的底层,haspmap 的底层源码,concurrentHaspMap 的底层源码,更多地区理解为什么,而不是怎么样;看虚拟机从内存管理到类加载;java 并发编程的艺术;复习 servlet/jsp 技术;理解 ibatis 的技术要点,ibatis 的底层源码;复习操作系统数据库计网每一个讲过的重点;理解 MySQL 的技术要点;spring 的核心技术跟思想 IOC、AOP、springMVC;Lucene 的索引结构,检索特点,为什么拿它来取代数据库的全文检索;Redis 技术要点,从五种数据结构到乐观锁事务再到数据安全主从复制持久化…..;牢记 Linux 系统的常用命令与操作;经典的设计模式,单例懒汉恶汉等等;复习数据结构平衡二叉树 B 树 B+树,复习算法刷 leetcode…..当然,还有很多很多。

京东(笔试+两面技术+一面 hr,拿到 offer)

一面:

  1. 自我介绍

  2. 介绍一下项目

  3. java 多线程有哪几种实现方式

  4. CountDownLatch

  5. Spring 的核心技术

  6. 关于数据库事务说出你知道的所有

  7. 跟面试官聊天,说了很多关于登录验证的技术问题(有些紧张)

  8. 你有什么想问的

二面:

  1. 自我介绍

  2. 介绍一下项目

  3. 把你知道的 java 的 concurrent 包的技术全部说出来(volatile、锁重入,LinkedTransferQueue 字节追加提高并发度技术,ConcurrentHaspMap 结合 volatile 的 happen-before 读取优化)

  4. redis 的配置文件(AOF&&Snapshot&&主从复制)

  5. WebSocket 长连接问题

  6. 秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis 调用存储过程)

  7. 会不会写前端(会,但也仅是会写,会写 jQuery,CSS3)

  8. 你平时都用什么开发工具?IntelliJ IDEA 相比 Ecplise 有什么好(快捷键)

  9. 跟面试官聊天,讨论了很多关于后台大并发量的问题

  10. 你今后的研究方向是什么

  11. 你有什么想问的

京东的问题都答出来了,感觉特别是二面真的很体现一个人的研发功底,幸好都答出来了,跟面试官聊他们部门的后端并发技术问题,简直受益匪浅。搜狐的我就不发出来了,最后成功拿到了京东的京东 offer

在备战面试时对我帮助最大的其实是一份《阿里 Java10W 字面经》现在也顺便再此分享给大家

阿里内部开源的 Java10w 面经,总共 20 多个知识点,并贴心地附带着 Java 整个面试体系的思维导图,可以使读者轻松应对面试连环炮;现在让我们一起来看一下这份面试神技吧!

导图一览

内容太过于详细了,就不一一截图了,可以大致感受一下;



点击并拖拽以移动


目录一览

总目录:



点击并拖拽以移动


部分小目录展示:



点击并拖拽以移动



点击并拖拽以移动



点击并拖拽以移动



点击并拖拽以移动



点击并拖拽以移动


部分内容一览:

JVM 篇:



点击并拖拽以移动



点击并拖拽以移动


Mybatis 篇:



点击并拖拽以移动


Dubbo 篇:



点击并拖拽以移动


ZK 篇:



点击并拖拽以移动


设计模式篇:



点击并拖拽以移动


软实力篇:



点击并拖拽以移动


写在最后

以上就是阿里内部资料的内容展示,面试不仅仅是考的单个技术点,考得更多的就是技术之间的关联性,同时心态要好,最后希望大家都可以拿到心仪的 offer;

需要完整 PDF 版的朋友可以  点击此处  凭截图免费获取;

See you~

用户头像

还未添加个人签名 2020.09.07 加入

还未添加个人简介

评论

发布
暂无评论
京东丨阿里丨携程面试总结,已成功拿到京东offer