JAVA开发人员 专题汇总

JAVA开发人员 面试经验分享列表,共516

| 社会招聘
面试过程:

boss直聘直接联系的,因为在职没有时间去现场面。总共三面:
一面视频面:hr简单了解下现状,期望薪资等等
二面视频面:二面是技术面,过程比较快知识点比较多但是不深。
三面电话面:三面是部门老大面,主要叙述了公司的业务和技术栈,以及个人的职业规划

面试官问的面试题:

java基础:多线程、并发编程、hashmap源码、java8新特性等
数据库:数据库索引底层结构、索引类型和特性
jvm:垃圾回收机制
redis:缓存穿透、雪崩、击穿以及解决方案

赞一下(0) 踩一下

| 网上申请
面试过程:

在网上申请的,hr通知晚上视频面试
到了时间先进去调试设备,然后等面试管来
来了以后先自我介绍,问了简历上的项目,
之后问些简单的基础,再给出几个开放问题,
最后做算法题

面试官问的面试题:

1、hashmap源码讲一下,怎么解决hash碰撞
2、知道哪几种锁
3、sync的锁怎么实现的
4、reentrantlock锁怎么实现的
5、aqs原理、
6、mysql的索引、聚簇非聚簇
7、事务隔离级别和mvcc
8、mq的区别
9、算法题 动态规划
10 你还有什么问题吗

赞一下(1) 踩一下

面试过程:

校园招聘进去的,先是投递了简历,然后通知现场面试,HR电话通知就约好时间就去了,面了两面,问的问题比较多主要是项目经验的匹配度,面试感受还可以吧

面试官问的面试题:

三:数据库(这里主要看mysql innoDB)
1.mysql引擎类别
MyISAM:不支持事务,表锁,不支持外键,非聚集索引,数据文件是分离的,适合大量读应用
InnoDB:支持事务,支持外键,表锁和行锁、聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。
其他:NDB和Memory(表中的数据存放在内存中)、Maria(新开发的引擎,设计目标主要是用来取代原有的MyISAM存储引擎)
2.InnoDB表锁和行列锁的区别
表锁:略
行锁:
大体两种:共享锁和排它锁
共享锁:允许事务读取一行数据。
排它锁:允许事务删除或者更新一条数据。
行锁是通过给索引上的索引项加锁来实现的
使用:由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。
3.mysql索引
对于innodb来说
使用上:主键索引、唯一索引、普通索引、全文索引(高版本开始支持)、组合索引
原理上:b+树,自适应hash索引,聚集索引(主键默认为辅助索引,如果没有主键,自动选取一个合适的列建立,存储索引和行数据)、辅助索引(存储所在列数据和对应聚合索引位置)
使用1:组合索引左匹配原则
使用2:
mysql EXPLAIN 命令
id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符.
select_type: SELECT 查询的类型.
table: 查询的是哪个表
partitions: 匹配的分区
type: join 类型
possible_keys: 此次查询中可能选用的索引
key: 此次查询中确切使用到的索引.
ref: 哪个字段或常数与 key 一起被使用
rows: 显示此查询一共扫描了多少行. 这个是一个估计值.
filtered: 表示此查询条件所过滤的数据的百分比
extra: 额外的信息
4.索引失效常见情况
使用函数、左匹配、like,or(必须所有的or条件都必须是独立索引),is null,等

赞一下(0) 踩一下

1 2 3 4 5 6 7 8 9 10 11   共 20 页