Java程序员(阿里、京东、携程)面试归来,成功斩获京东offer

本文记录了一位Java程序员的面试经历,分别分享了在阿里巴巴、携程和京东的面试过程,涉及到的技术点包括Java基础、数据库、并发、锁机制、网络协议、数据结构等。在阿里巴巴面试中,虽然有内推,但因底层原理掌握不足而未通过。在携程面试中,因HashMap的线程安全性问题被淘汰。最终在京东经过多轮面试,成功拿到offer。作者反思了学习的深度和广度对面试的重要性,并分享了后续的学习计划。
摘要由CSDN通过智能技术生成

阿里巴巴(一面)

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

录完简历后等待简历评估,原来,找内推不一定能得到面试机会,能不能得到面试机会要经过简历评估(我这才知道,原来内推免笔试可不是那么容易的),毕竟内推能免去在线笔试直接面试,互联网第一梯队像百度、阿里,腾讯的笔试真的很有难度,做过前几年这些公司的笔试题,真的太难了。在阿里的校招群里看到很多研究生研究算法,前端,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. 页锁、乐观锁、悲观锁
  13. tcp三次握手的过程
  14. 进程跟线程的区别
  15. redis的操作是不是原子操作
  16. ArrayList跟LinkedList的底层实现原理,使用场景
  17. B+树
  18. 一道算法题,在一个整形数组中,有正数有负数,找出和最大的子串
  19. 动态规划的思想
  20. 你有什么想问的

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

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

携程(一面)

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

  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

总结

以上是对大型互联网名企面试题的收集,希望大家可以了解什么是大型互联网名企面试题。

最后针对上面的高频常问面试题我还总结出了适合于1-5年以上开发经验的java程序员面试涉及到的绝大部分面试题及答案做成了学习笔记(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索的时间来学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值