从事Java三年多,去应聘16k最后没被录用,细节如下……

2023-11-09

前言:

今天小编和大家分享一位以前面试的一位应聘者,工作4年26岁,统招本科。

以下就是他的简历和面试情况。

基本情况:

 

 

专业技能:

1、 熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务

2、 熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins

3、 熟悉Nginx、tomcat等的调优

4、 熟悉多线程、并发

5、 熟悉分布式协同框架Zookeeper、RPC服务框架Dubbo

6、 了解分布式消息框架Kafka、RocketMQ

7、 熟悉分布式缓存Redis、memcache

8、 熟悉分布式数据中间件sharding-jdbc做分库分表、读写分离

熟悉分布式搜索引擎ELK

教育经历:

 

面试过程:

面试题一:HashMap底层实现

 

面试题二:Spring AOP底层实现

面试题三:分布式Session、Dubbo、Zookeeper问题

 

总结:

面试过程中,大概聊了20分钟左右,自我介绍和项目聊了大概,8分钟,另外12分钟主要是聊了一些技术问题。这次问的相对来说不会太难,因为工作4年要16k薪资不是很高,最后还是没有给第二面的机会,主要还是觉得对技术深度不够,广度是OK的,今天的面试分享就到这里。

 

数据库

  1. 事务四大特性(ACID)?

  2. 数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别?

  3. innodb和myisam存储引擎的区別?

  4. MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景?

  5. 查询语句不同元素(where、jion、limit, group by、having等等)执行先后顺序?

  6. 数据库的优化(sql语句优化和索引)?

  7. 索引有B+索引和hash索引,各自的区别?

  8. B+索引数据结构,和B树的区別?

  9. 索引的分类(主键索引、唯一索引),最左前缀原则,哪些情况索引会失效?

  10. 聚集索引和非聚集索引区别

  11. 有哪些锁(乐观锁悲观锁),select时怎么加排它锁?

  12. 关系型数据库和非关系型数据库区别?

  13. 数据库三范式,根据某个场费设计数据表?

  14. 数据库的读写分离、主从复制?

  15. 使用explain优化sql和索引?

  16. long_query怎么解决?

  17. 死锁判定原理和具体场景,死锁怎么解决?

  18. varchar和char的使用场景?

  19. mysql并发情况下怎么解决(通过事务、隔离级别、锁)?

  20. 数据库崩溃时事务的恢复机制(REDO日志和UNDO日志) ?

 

 

 

并发编程

  1. 跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同?

  2. 那么请谈谈 AQS 框架是怎么回事儿?

  3. 请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的异同。

  4. ReentrantLock 是如何实现可重入性的?

  5. 除了 ReetrantLock,你还接触过 JUC 中的哪些并发工具?

  6. 请谈谈 ReadWriteLock 和 StampedLock。

  7. 如何让 Java 的线程彼此同步?你了解过哪些同步器?请分别介绍下。

  8. CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢?

  9. Synchronized 用过吗,其原理是什么?

  10. 你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁?

  11. 什么是可重入性,为什么说 Synchronized 是可重入锁?

  12. JVM 对 Java 的原生锁做了哪些优化?

  13. 为什么说 Synchronized 是非公平锁?

  14. 什么是锁消除和锁粗化?

  15. 为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是

  16. 乐观锁一定就是好的吗?

  17. 什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?

  18. 请谈谈 volatile 有什么特点,为什么它能保证变量对所有线程的可见性?

  19. 请对比下 volatile 对比 Synchronized 的异同。

  20. 请谈谈 ThreadLocal 是怎么解决并发安全的?

  21. 很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal 需要注意些什么?

  22. Java 中的线程池是如何实现的?

  23. 创建线程池的几个核心构造参数?

  24. 线程池中的线程是怎么创建的?

  25. 如何在 Java 线程池中提交线程?

 

 

 

Spring

  • 为什么需要代理模式?

  • 讲讲静态代理模式的优点及其瓶颈?

  • 对Java 接口代理模式的实现原理的理解?

  • 如何使用 Java 反射实现动态代理?

  • Java 接口代理模式的指定增强?

  • 谈谈对Cglib 类增强动态代理的实现?

  • point cut,advice,Join point是什么?

  • join point 和 point cut 的区别?

  • 怎么理解面向切面编程的切面?

  • 谈谈对SpringAOP Weaving(织入)的理解?

  • 谈谈SpringAOP Introduction(引入)的理解?

  • 讲解OOP与AOP的简单对比?

  • 讲解JDK 动态代理和 CGLIB 代理原理以及区别?

  • 讲解Spring 框架中基于 Schema 的 AOP 实现原理?

  • 讲解Spring 框架中如何基于 AOP 实现的事务管理?

  • 谈谈对控制反转的设计思想的理解?

  • 怎么理解 Spring IOC 容器?

 

 

 

MyBatis 面试题

  1. 什么是Mybatis?

  2. Mybatis的优点:

  3. Mybatis框架的缺点:

  4. Mybatis框架适用场合:

  5. MyBatis与Hibernate有哪些不同?

  6. #{}和${}的区别是什么?

  7. 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

  8. 模糊查询like语句该怎么写?

  9. 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理

  10. 是什么?Dao接口里的方法,参数不同时,方法能重载吗?

  11. Mybatis是如何进行分页的?分页插件的原理是什么?

  12. Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?

  13. 如何执行批量插入?

  14. 如何获取自动生成的(主)键值?

  15. Mybatis动态sql有什么用?执行原理?有哪些动态sql?

  16. Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?

  17. Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?

  18. 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?

  19. MyBatis实现一对一有几种方式?具体怎么操作的?

  20. MyBatis实现一对多有几种方式,怎么操作的?

  21. Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

  22. Mybatis的一级、二级缓存:

  23. 什么是MyBatis的接口绑定?有哪些实现方式?

  24. 使用MyBatis的mapper接口调用时有哪些要求?

  25. 简述Mybatis的插件运行原理,以及如何编写一个插件。

 

 

 

Redis面试题

随着应用研发技术的不断成熟,Redis 缓存技术已经成为后台研发同学必备的能力之一。在很多公司面试的过程中,都必不可少地考察 Redis 知识点的掌握。

  • 使用 Redis 有哪些好处?

  • Redis 是单进程单线程的?

  • Redis 的持久化机制是什么?各自的优缺点?

  • Redis 常见异常问题和解决方案(雪崩,穿透...)

  • redis 过期键的删除策略?

  • 为什么 redis 需要把所有数据放到内存中?

  • Redis 集群的主从复制模型是怎样的?

  • Redis key 的过期时间和永久有效分别怎么设置?

 

 

 

MongoDB

  • 什么是MongoDB ?

  • MongoDB是由哪种语言写的?

  • MongoDB的优势有哪些?

  • 什么是数据库?

  • 什么是集合?

  • 什么是文档?

  • MongoDB和关系型数据库术语对比图

  • 什么是"mongod" ?

  • "mongod"参数有什么?

  • 什么是"mongo”?

  • MongoDB哪个命令可以切换数据库?

  • 什么是非关系型数据库?

  • 非关系型数据库有哪些类型?

  • 为什么用MOngoDB ?

  • 在哪些场景使用MongoDB ?

  • MongoDB中的命名空间是什么意思?

  • 哪些语言支持MongoDB?

  • 在MongoDB中如何创建一个新的数据库 ?

  • 在MongoDB中如何查看数据库列表?

  • MongoDB中的分片是什么意思?

  • 如何查看使用MongoDB的连接?

  • 什么是复制?

  • 在MongoDB中如何在集合中插入-一个文档?

  • 在MongoDB中如何除去-一个数据库?

  • 在MongoDB中如何创建一个集合 ?

  • 在MongoDB中如何查看一个已经创建的集合 ?

  • 在MongoDB中如何删除一-个集合?

  • 为什么要在MongoDB中使用分析器?

  • MongoDB支持主键外键关系吗?

  • MongoDB支持哪些数据类型?

  • 为什么要在MongoDB中用"Code”数据类型?

  • 为什么要在MongoDB中用" Regular Expression"数据类型?

  • 为什么在MongoDB中使用"Object ID"数据类型?

  • 如何在集合中插入一个文档?

  • "ObjectID"有哪些部分组成?

  • 在MongoDb中什么是索引?

  • 如何添加索引?

  • MongoDB有哪些可替代产品?

  • 如何查询集合中的文档?

  • 用什么方法可以格式化输出结果?

  • 如何使用" AND"或"OR"条件循环查询集合中的文档?

  • 在MongoDB中如何更新数据?

  • 如何删除文档?

  • 在MongoDB中如何排序?

  • 什么是聚合?

  • 在MongoDB中什么是副本集?

  • Mongodb存储特性与内部原理?

 

 

 

MySQL 面试题

如今互联网行业用的最多就是 MySQL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MySQL 相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基本大多稍好公司的面试官,基本也不会对你有兴趣,毕竟稍微量大的项目,最终都会让你去深入数据库,而且最终的大多瓶颈首先也会出现在数据库。

  1. L 相关存储引擎。

  2. MySQL 索引实现原理。

  3. MySQL 数据库锁。

  4. MySQL 的 SQL 调优。

  5. MySQL 分表分库全局 ID。

  6. Mysql的技术特点是什么?

  7. Heap表是什么?

  8. Mysql服务器默认端口是什么?

  9. 如何区分FLOAT和DOUBLE?

  10. 区分CHAR_LENGTH和LENGTH?

  11. 请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

  12. 在Mysql中ENUM的用法是什么?

  13. 如何定义REGEXP?

  14. CHAR和VARCHAR的区别?

  15. Mysql查询是否区分大小写?

  16. Mysql中有哪些不同的表格?

  17. 什么样的对象可以使用CREATE语句创建?

  18. 什么是通用SQL函数?

  19. MYSQL支持事务吗?

  20. mysql里记录货币用什么字段类型好

  21. Mysql中有哪几种锁?

  22. MYSQL数据库服务器性能分析的方法命令有哪些?

 

   

 

 

 

 

Spring源码100集学习视频

 

 

 

小编推荐:     阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)

                    年后想跳槽大厂的程序员福利来了!2020最强面试资料!

                     深入理解 Java 多线程核心知识:跳槽面试必备! ! !

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从事Java三年多,去应聘16k最后没被录用,细节如下…… 的相关文章

  • JAX-WS:有状态 WS 在独立进程中失败

    我在 Tomcat 上部署了一个有状态的 Web 服务 它由工厂服务和主要 API 服务组成 并且工作得很好 工厂服务将 W3CEndpointReference 返回到主 API 实例 客户端使用会话 现在 我尝试将相同的服务作为独立应用
  • FFmpeg 不适用于 android 10,直接进入 onFailure(String message) 并显示空消息

    我在我的一个项目中使用 FFmpeg 进行视频压缩 在 Android 10 Google Pixel 3a 上 对于发送执行的任何命令 它会直接进入 onFailure String message 并显示空消息 所以我在我的应用程序 g
  • 为什么一个线程会中断另一个线程[重复]

    这个问题在这里已经有答案了 在Java多线程应用程序中 我们处理InterruptedThreadException 如果另一个线程中断当前线程 则会抛出此异常 现在 当另一个线程知道它将导致异常时 它可能想要中断当前线程的原因是什么 很多
  • spring中如何进行单元测试验证注解

    我在类中有一些注释 例如 public class ProductModel Pattern regexp 1 1 9 0 9 message Quantity it should be number and greater than ze
  • Hystrix是否可以订阅CircuitBreaker开启事件?

    对于单元测试 我希望能够订阅 Hystrix 事件 特别是在断路器打开或关闭时发生事件 我四处寻找示例 似乎解决方法是利用指标流并监视断路器标志 由于 Hystrix 是基于 RxJava 构建的 我认为应该在某个地方有一个事件订阅接口 在
  • 如何在Gradle中支持多种语言(Java和Scala)的多个项目?

    我正在尝试将过时的 Ant 构建转换为 Gradle 该项目包含约50个Java子项目和10个Scala子项目 Java 项目仅包含 Java Scala 项目仅包含 Scala 每个项目都是由 Java 和 Scala 构建的 这大大减慢
  • 用于防止滥用的 Servlet 过滤器? (DoS、垃圾邮件等)

    我正在寻找一个 Servlet 过滤器库 它可以帮助我保护我们的 Web 服务免受未经授权的使用和 DDoS 攻击 我们的网络服务有 授权客户 因此理想情况下 过滤器将帮助检测未经授权或行为不当的客户 或检测使用同一帐户的多个人 此外 我们
  • JavaFx 中装饰且不可移动的舞台

    我想在 JavaFx 中创建一个装饰舞台 它也将不可移动 我正在从另一个控制器类创建这个阶段 我能够创造和展示舞台 但它是自由移动的 我怎样才能创建这个 非常感谢帮助和建议 我把打开新关卡的方法贴出来 private void addRec
  • 中间件 API 的最佳实践是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们正在开发一个中间件 SDK 采用 C 和 Java 语言 供游戏开发人员 动画软件开发人员 阿凡达开
  • Scala(或 Java)中泛型函数的特化

    是否可以在 Scala 中专门化泛型函数 或类 例如 我想编写一个将数据写入 ByteBuffer 的通用函数 def writeData T buffer ByteBuffer data T buffer put data 但由于 put
  • 从本地 html/javascript 网站插入 mySQL 数据库

    我正在尝试做什么 我的程序的目的是插入数据local HTML JS网站变成online 非本地 mySQL数据库 到目前为止我尝试过的 我试图用来实现此目的的原始方法是让我的本地网站使用 javascript 通过在线发布数据PHP文件
  • 如何获取 Android 中临时文件的文件大小?

    如果我使用 openFileOutput 创建并写入临时文件 写入完成后如何获取文件大小 我希望这可以帮助你 File file new File selectedPath int file size Integer parseInt St
  • NoSuchMethodError:将 Firebase 与应用程序引擎应用程序集成时

    我试图将 firebase 实时数据库与谷歌应用程序引擎应用程序集成 我在调用时收到此错误 gt DatabaseReference ref FirebaseDatabase gt getInstance gt getReference t
  • 膨胀类片段 InflateException 二进制 XML 文件时出错

    我正在使用 Material Design 和 NavigationDrawer 布局等设计我的第一个应用程序 但我遇到了一个问题 该应用程序非常简单 它只显示文本 并且基于 Android Studio 中提供的模板 尝试启动我的应用程序
  • Hibernate @OneToMany 注释到底是如何工作的?

    我对 Hibernate 还很陌生 我正在通过教程学习它 我在理解到底如何一对多注释作品 所以我有这两个实体类 Student代表一个学生并且Guide代表指导学生的人 因此 每个学生都与一名向导相关联 但一名向导可以跟随多个学生 我想要一
  • 使用 Cucumber Scenario Outline 处理 Excel 电子表格

    如果可能的话 我试图找到一种更优雅的方法来处理从与 Excel 电子表格行 第 n 个 相关的 Cucumber Scenario Outline 中调用第 n 个数字 目前 我正在使用迭代编号来定义要从中提取数据的 Excel 电子表格的
  • 为什么 Clojure MySQL 查询结果中出现“M”

    我有一个返回一行的 Clojure 查询 下面是返回行 映射 的部分打印输出 employer percent 0 00M premium 621 44M 这两列在mysql表中分别是decimal 5 2 和decimal 7 2 为什么
  • Jenkins 管道和 java.nio.file.* 方法的问题

    我正在尝试使用 java nio file 中的方法在 Jenkins 管道中执行一些基本文件操作 无论代码存在于哪个节点块中 代码都在主节点上执行 在管道中 我已经验证了各个节点块都是正确的 它们唯一地标识了特定的节点 但是 pathEx
  • C/C++ 通过 Android NDK 在 JNI 中看不到 Java 方法

    我正在尝试从使用 NDK 构建的 C 类文件调用 Java 方法 它不断抛出常见的 未找到非静态方法 错误并导致整个 Android 应用程序崩溃 下面的代码片段 有些东西可能不需要 但我按原样保留它们 因为焦点 问题在于refreshJN
  • 未找到教义列:1054“字段列表”中未知列“s.features”

    我在站点表中添加了一个新列 features 并使用 Doctrine 重新生成了模型 此代码导致错误 siteTable Doctrine Core getTable Site site siteTable gt findOneByNam

随机推荐

  • 二分查找 递归

    碎碎念念 假设我们要在一个升序排序的整型数组中查找某个特定的整数 如果找到了 返回该整数在数组中的索引号 如果没有找到 则返回 1 我们首先看要找的数和数组中间的数的大小关系 如果相等 那么说明找到了 如果要找的数小于数组中间的数 那么我们
  • 由集成运放构成的基本运算电路

    一 比例运算放大器 1 同相比例运算放大器 2 反相比例运算放大器 二 相加器 1 反向相加器 2 同向相加器 3 相减器 根据叠加原理 如上相减器可拆分为如下两个相加器 第一图 第二图 三 积分器 1 简单积分器 2 差动积分器 四 微分
  • 模拟上传文件至服务器(解决socket中read阻塞问题)

    客户端 package cn dali4 code03ex import java io FileInputStream import java io IOException import java io InputStream impor
  • python一行写不下,变多行

    python里一行写不下 拆成多行 和 两种方法 在一行末尾 加上 也就是空格加上 a sdfaf test 注意两个对象都要独立 字符串必须都用双引号引起 如果是if and 后加 其实用括号也可以 比如 a sdfaf test 或者
  • c语言实现学生管理系统,C语言学生管理系统源代码

    C语言学生管理系统源代码 由会员分享 可在线阅读 更多相关 C语言学生管理系统源代码 12页珍藏版 请在人人文库网上搜索 1 C语言学生成绩管理系统源代码 保证能用 include malloc h include stdio h incl
  • 【LVGL 学习】LVGL 在 arduino 环境的安装

    1 前提条件 使用 arduino IDE开发 使用 ESP32 作为主控 屏幕使用 ST7789 驱动 240 240像素TFT屏幕 注意 屏幕驱动部分不再这个赘述 以后开贴另行发布 2 安装 LVGL 库 打开 arduino 菜单栏中
  • 【Python】熵值法计算权重

    Python 熵值法计算权重 将分步骤基于python实现熵值法计算权重 代码在pycharm中执行 文章目录 Python 熵值法计算权重 1 引入库 2 读取数据 3 熵值法主体 4 打印出各指标的权重 5 将结果存储至csv文件中 总
  • 数据库 SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点

    数据库 SQL 遍历父子关系表 二叉树 获得所有子节点 所有父节点 创建表 Create Table A IDInt fatherIDInt NameVarchar 10 Insert A Select 1 NULL tt Union Al
  • 使用Vector模拟实现STL中的stack

    stack 介绍 栈是一种容器适配器 特别为后入先出而设计的一种 LIFO 那种数据被插入 然后再容器末端取出 栈实现了容器适配器 这是用了一个封装了的类作为他的特定容器 提供了一组成员函数去访问他的元素 元素从特定的容器 也就是堆栈的头取
  • python之requests模块详解

    目录 requests使用 requests请求方法 requests响应对象属性 Requests模块是一个用于网络请求的模块 主要用来模拟浏览器发请求 其实类似的模块有很多 比如urllib urllib2 httplib httpli
  • 微信公众号【OpenID详解】

    只知道 openID 是微信号加密后得到的 不同的公众号获取得微信号openID不同 但 UnionID 是一样的 微信openid由用户id和公众号id加密而来 同一用户相对同一公众账号的openid是不变的 对于不同公众号 同一用户的o
  • Learning OpenStack Keystone

    Author 海峰 http weibo com 344736086 http yanheven github io http blog csdn net yanheven1 这周重新学习整理了OpenStack Keystone里面的知识
  • CentOS没有了用什么?Rocky Linux 8.6安装体验

    2020 年 12 月 8 日 CentOS 项目宣布 CentOS 8 将于 2021 年底结束 而 CentOS 7 将在其生命周期结束后停止维护 CentOS 7 9 和 CentOS 8 5 将是最后的2个CentOS 版本 官方解
  • concurrentHashMap解析这篇文章就够了

    实现原理 ConcurrentHashMap使用分段锁技术 将数据分成一段一段的存储 然后给每一段数据配一把锁 当一个线程占用锁访问其中一个段数据的时候 其他段的数据也能被其他线程访问 能够实现真正的并发访问 如下图是ConcurrentH
  • 使用 Python 操作 MongoDB

    使用 Python 操作 MongoDB MongoDB 是一个开源的面向文档的 NoSQL 数据库 它具有高性能 可扩展性和灵活性的特点 通过使用 Python 的 pymongo 模块 我们可以方便地操作 MongoDB 数据库 本文将
  • CPU工作原理和MMU初探

    具体相关内容主要参考自一篇博客 当然有结合其它内容 感谢博主提供的资源 这里附上参考链接 http www cnblogs com xiangtao archive 2013 04 11 3014815 html 关于CPU和MMU需要做几
  • 企业微信第三方应用-应用客服会话(h5)

    企业微信中第三方应用 h5 不能像小程序那样将button标签的open type属性设置为contact即可跳转到客服会话页面 但是js sdk为了开发者提供了openThirdAppServiceChat Api 让用户可快速打开应用客
  • IT项目管理作业五

    一 你联合同学做一个年级微信公众号加强各班相互了解 联合活动 等 请写一份两页的报告 描述收集需求的方法 并附上收集的 需求跟踪矩阵 不少于五个需求 收集需求的方法 数据收集方面 头脑风暴 召集项目所有的参与成员 共同讨论关于微信公众号对于
  • Python Class

    关键字1 self self指代 类的实例化 而不是类本身 class Test def prt self print self print self class t Test t prt result
  • 从事Java三年多,去应聘16k最后没被录用,细节如下……

    前言 今天小编和大家分享一位以前面试的一位应聘者 工作4年26岁 统招本科 以下就是他的简历和面试情况 基本情况 专业技能 1 熟悉Sping了解SpringMVC SpringBoot Mybatis等框架 了解SpringCloud微服