-
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……当然,还有很多很多。
一面:
-
自我介绍
-
介绍一下项目
-
java多线程有哪几种实现方式
-
CountDownLatch
-
Spring的核心技术
-
关于数据库事务说出你知道的所有
-
跟面试官聊天,说了很多关于登录验证的技术问题(有些紧张)
-
你有什么想问的
二面:
-
自我介绍
-
介绍一下项目
-
把你知道的java的concurrent包的技术全部说出来(volatile、锁重入,LinkedTransferQueue字节追加提高并发度技术,ConcurrentHaspMap结合volatile的happen-before读取优化)
-
redis的配置文件(AOF&&Snapshot&&主从复制)
-
WebSocket长连接问题
-
秒杀业务场景设计(事务,逻辑调整,行级锁,数据库并发度、mybatis调用存储过程)
-
会不会写前端(会,但也仅是会写,会写jQuery,CSS3)
-
你平时都用什么开发工具?IntelliJ IDEA相比Ecplise有什么好(快捷键)
-
跟面试官聊天,讨论了很多关于后台大并发量的问题
-
你今后的研究方向是什么
-
你有什么想问的
京东的问题都答出来了,感觉特别是二面真的很体现一个人的研发功底,幸好都答出来了,跟面试官聊他们部门的后端并发技
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
术问题,简直受益匪浅。搜狐的我就不发出来了,最后成功拿到了京东的京东offer