阿里巴巴(一面)
阿里找了一个前辈内推的,准确来说应该是直推,是他帮我直接录的简历,他本科进的阿里蚂蚁金服,厉害吧?是真的佩服。第一次在官网上填资料,想想马云有多出名,想想蚂蚁金服这样的顶级技术,有些兴奋,有些期待。
录完简历后等待简历评估,原来,找内推不一定能得到面试机会,能不能得到面试机会要经过简历评估(我这才知道,原来内推免笔试可不是那么容易的),毕竟内推能免去在线笔试直接面试,互联网第一梯队像百度、阿里,腾讯的笔试真的很有难度,做过前几年这些公司的笔试题,真的太难了。在阿里的校招群里看到很多研究生研究算法,前端,Java研发的,简历评估后直接变成已回绝没有得到面试机会。心想,我一个研究生,虽然Java基础不错,三大框架也很熟悉,项目都是自己设计的需求,简历也就一张纸,究竟能不能得到面试机会?
填完资料的一个星期后收到了支付宝的面试电话,突然变得好紧张,居然得到了面试的机会。
自我介绍
- 简单的介绍一下你的项目
- 一个有500个用户的广播系统,你怎么做性能优化
- 当用户提交请求后,却立即按撤回按钮,涉及性能的数据落地问题你怎么处理
- Lucene底层实现原理,它的索引结构
- ibatis跟hibernate的区别
- ibatis是怎么实现映射的,它的映射原理是什么
- Java I/O底层细节,注意是底层细节,而不是怎么用
- 你对mysql有什么了解
- 说一下数据库事务的四个特性,为什么mysql事务能保证失败回滚
- mysql数据库的锁有多少种,怎么编写加锁的sql语句
- mysql什么情况下会触发表锁
- 页锁、乐观锁、悲观锁
- tcp三次握手的过程
- 进程跟线程的区别
- redis的操作是不是原子操作
- ArrayList跟LinkedList的底层实现原理,使用场景
- B+树
- 一道算法题,在一个整形数组中,有正数有负数,找出和最大的子串
- 动态规划的思想
- 你有什么想问的
阿里一面过后变得怀疑人生,真的好多不会好多底层原理没答出来,第二天查状态,变成已回绝了。原来学习不能只学表面,作为一名研发人员,只知道怎么用是不够的,更多的应该知道底层原理,不然出现了性能瓶颈你怎么优化?你怎么扛得住每秒千万甚至亿的并发量?
有很多底层问题没答出来,**接下来干嘛?**学啊!
携程(一面)
携程又找了内推,直接面试。
- 自我介绍
- 介绍一下项目
- 你的并发项目有做过压测吗
- haspmap的底层实现原理,怎么解决冲突问题
- haspmap是否线程安全
- object对象的常用方法
- 你有什么想问的
携程一面后被淘汰,其实问题很简单,当初被淘汰了感觉很不解,有些郁闷,只不过是稍微犹豫了一下线程安全问题而已,最后也答对了。但现在想起来,连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)
一面:
- 自我介绍
- 介绍一下项目
- java多线程有哪几种实现方式
- CountDownLatch
- Spring的核心技术
- 关于数据库事务说出你知道的所有
- 跟面试官聊天,说了很多关于登录验证的技术问题(有些紧张)
- 你有什么想问的
二面:
- 自我介绍
- 介绍一下项目
- 把你知道的java的concurrent包的技术全部说出来(volatile、锁重入,LinkedTransferQueue字节追加提高并发度技术,ConcurrentHaspMap结合volatile的happen-before读取优化)
- redis的配置文件(AOF&&Snapshot&&主从复制)
- WebSocket长连接问题
- 秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis调用存储过程)
- 会不会写前端(会,但也仅是会写,会写jQuery,CSS3)
- 你平时都用什么开发工具?IntelliJ IDEA相比Ecplise有什么好(快捷键)
- 跟面试官聊天,讨论了很多关于后台大并发量的问题
- 你今后的研究方向是什么
- 你有什么想问的
京东的问题都答出来了,感觉特别是二面真的很体现一个人的研发功底,幸好都答出来了,跟面试官聊他们部门的后端并发技术问题,简直受益匪浅。搜狐的我就不发出来了,最后成功拿到了京东的京东offer
总结
以上是对大型互联网名企面试题的收集,希望大家可以了解什么是大型互联网名企面试题。
最后针对上面的高频常问面试题我还总结出了适合于1-5年以上开发经验的java程序员面试涉及到的绝大部分面试题及答案做成了学习笔记(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索的时间来学习。