Java开发实习面试复盘(亚信科技)

Java开发实习面试复盘(亚信科技)

码农世界 2024-05-28 前端 75 次浏览 0个评论
  1. 简单介绍一下自己

  2. 除了Java还学过其他语言吗,你最熟悉的是什么

  3. 简单介绍一下你做过的项目

  4. 说一下Spring、SpringMVC、Spring Boot之间有什么区别

    Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架

    SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等,是一个MVC的开源框架,SpringMVC=struts2+spring,springMVC就相当于是Struts2加上Spring的整合。

    Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题—>习惯大于约定。

  5. 项目中用到了哪些中间件

    这里只说到了RabbitMQ,其实Nginx、ES、Redis、Docker、GIt这些,只要是系统软件和用户软件之间连接的软件都算

  6. 在项目中Redis和MySQL如何进行数据同步的,简单说一下增量同步

    方案一:

    读:读redis,没有数据就读MySQL,将MySQL数据保存到缓存中

    写:写MySQL,同时让redis缓存失效(删除key,过期)

    缺点:数据量巨大,更新频繁的数据写入无能为力。比如数量巨大,每个变跟状态又很频繁,这样很容易把数据宕机

    方案二:

    基于binlog使用mysql_udf_redis,将数据库中的数据同步到Redis

    缺点:mysql_udf_redis是有人实现的同步数据到Redis的功能,需要学习成本,第三方插件不稳定

    方案三:

    MQ队列同步,变更数据两份,一份给Redis消费,一份给MySQL消费

    方案四:

    后台定时任务,定时刷新Redis中信息到数据库

增量同步是指在数据同步中仅同步更新或新增的数据,而不包括已经同步过的数据。全量同步则是指将所有数据进行一次完整的同步,无论数据是否有更新或新增。

  1. 熟练使用Java8的Stream流操作集合并结合 Lambda表达式这点简单说一下

    Java 8引入了Stream API,它提供了一种新的处理集合数据的方式。Stream API支持函数式编程风格,可以让你以声明性的方式处理数据集合,而不是传统的命令式循环。结合Lambda表达式,可以让代码更加简洁、易读且功能强大。

  2. 什么是缓存击穿

    给某一个key设置了过期时间,当key过期的时候,恰好这时间点对key有大量的并发请求过来,这些并发的请求可能会瞬间把数据库压垮

  3. 什么是缓存雪崩

    同一时段大量的缓存key同时失效或者Redis宕机,导致大量请求到达数据库,带来巨大压力

  4. 期望薪资是多少

  5. 如果你到公司这边你会在北京租房还是在…

  6. 如果在公司到下班时间了,你的工作完成了70%,你会怎么做

  7. 到公司肯定会对业务环境这些不太熟悉,遇到这种情况你会怎么做

反问:

  1. 如果面试通过到公司会负责哪块的业务?
  2. 面试结果什么时候出来?

转载请注明来自码农世界,本文标题:《Java开发实习面试复盘(亚信科技)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,75人围观)参与讨论

还没有评论,来说两句吧...

Top