2019BAT最新java面试题:数据结构+开源框架+数据库+微服务!

前言
无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上,而忽略了人事部分,实际上人事面试也会影响到最终的结果,把每一个环节做好,最终的结果自然不会差。

一、数据结构与算法

  • 链表与数组?
  • 队列和栈,出钱与入栈?
  • 链表的删除、插入、反向?
  • Hash表的hash函数,冲突解决方法有哪些?
  • 各种俳序:冒泡、选择、插入、希尔、归并、快排、堆俳、桶排、基数的原理、平均时间复杂度、* 最坏时间复杂度、空间复杂度、是否稳定?
  • 对冒泡与快排的改进?
  • 二分查找,与变种二分查找?
  • 二叉树、B+树、AVL树、红黑树、哈夫曼树?
  • 二叉树的前中后续遍历:递归与非递归写法,层序遍历算法?
  • KMP算法?
  • 排列组合问题?
  • 贪心算法、分治算法?

开源框架

  • IOC和DI是什么?
  • Spring IOC的理解,其初始化过程?
  • BeanFactory 和 FactoryBean的区别?
  • BeanFactory和ApplicationContext的区別?
  • ApplicationContext上下文的生命周期?
  • Spring Bean的生命周期?
  • Spring AOP的实现原理?
  • Spring是如何管理事务的,事务管理机制?
  • Spring的不同事务传播行为有哪些,干什么闬的?
  • Spring中用到了那些设计模式?
  • Spring MVC的工作原理?
  • Spring如何解决循环依赖?
  • Spring如何保证Controller并发的安全?

数据库

  • 事务四大特性(ACID)?
  • 数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别?
  • innodb和myisam存储引擎的区別?
  • MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景?
  • 查询语句不同元素(where、jion、limit, group by、having等等)执行先后顺序?
  • 数据库的优化(sql语句优化和索引)?
  • 索引有B+索引和hash索引,各自的区别?
  • B+索引数据结构,和B树的区別?
  • 索引的分类(主键索引、唯一索引),最左前缀原则,哪些情况索引会失效?
  • 聚集索引和非聚集索引区别
  • 有哪些锁(乐观锁悲观锁),select时怎么加排它锁?
  • 关系型数据库和非关系型数据库区别?
  • 数据库三范式,根据某个场费设计数据表?
  • 数据库的读写分离、主从复制?
  • 使用explain优化sql和索引?
  • long_query怎么解决?
  • 死锁判定原理和具体场景,死锁怎么解决?
  • varchar和char的使用场景?
  • mysql并发情况下怎么解决(通过事务、隔离级别、锁)?
  • 数据库崩溃时事务的恢复机制(REDO日志和UNDO日志) ?

微服务

  • 什么是微服务?
  • 微服务之间是如何独立通讯的?
  • springCloud和dubbo 有哪些区别?
  • springboot和springcloud,请谈谈对它们的理解?
  • 什么是微服务熔断?什么是服务降级?
  • 微服务的优缺点分别是什么?说下在项目开发中碰到的问题?
  • 微服务技术栈有哪些?
  • eureka和zookeeper都可以提供服务的注册和发现的功能,请说说两者的区别?

总结

最后再给大家总结一下面试要注意的地方:面试前,提前准备面试问题的回答,回顾好简历中的工作经历;面试的时候,自我介绍要表现出自己的热情、与岗位的匹配、以及自己的亮点及有趣的地方,牢记 WWHC,STAR 原则,从岗位、部门、企业层面提问面试官;心态平稳,不要在技术面试时因为有一个知识点的不清楚而在后面的问题也回答不好!

这里推荐一下我的Java架构进阶群:603619042 ,群里有(分布式架构、高可扩展、高性能、高并发、面试资料、性能优化、Spring boot、Redis、ActiveMQ、等学习资源)进群免费送给每一位Java小伙伴,不管你是转行,还是工作中想提升自己能力都可以,欢迎进群一起深入交流学习!
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值