Skip to main content

One post tagged with "面试"

View All Tags

Spring

  1. 遇到过循环依赖问题吗,如何解决的

  2. 你们系统中有没有处理过全局异常,是如何统一处理的(前端,后端)

  3. Bean 生命周期

Java基础

  1. 方法重载,举一个常用的函数是重载的例子, 为什么重载的方法,不能将返回值类型作为参考标准
  2. 抽象类和接口的区别是什么
  3. HashMap 的工作原理是什么?
HashMap 基于哈希表实现,通过键的哈希值确定存储位置。

解决哈希冲突的方法:链地址法(Java 8 后使用链表+红黑树)。

扩容机制:当元素数量超过容量 * 负载因子时,扩容为原来的 2

SQL

  1. 事务的隔离级别

  2. 什么是窗口函数

  3. 窗口函数和聚合函数的区别是什么

  4. 常用的窗口函数有哪些

  5. 什么是索引的最左前缀原则

  6. 查看 MySQL 的执行计划 explain

Spring Cloud

  1. 在项目中用到过服务降级或者熔断,限流等手段吗,举一个例子,大概怎么配置

分布式

  1. 幂等

Event

  1. 如果一个事件被多个监听器监听,如何控制它们的执行顺序?

  2. Spring 中如何实现异步处理?@Async 注解的原理是什么?

Spring Security

  1. OAuth2

  2. JWT

HTML & CSS & JS

  1. CSS 选择器的优先级是什么

优先级从高到低:

!important

内联样式(style 属性)。

ID 选择器(#id)。

类选择器(.class)、属性选择器([type="text"])、伪类(:hover)。

标签选择器(div)、伪元素(::before)。
  1. Promise 是用于处理异步操作的对象,有三种状态:pending、fulfilled、rejected

  2. 什么是跨域问题?如何解决?

跨域是指浏览器禁止不同源的请求(协议、域名、端口不同)。

解决方法:

CORS:服务器设置 Access-Control-Allow-Origin。

JSONP:通过 <script> 标签跨域请求。

代理服务器:通过服务器转发请求

Vue

  1. Vue 的生命周期钩子有哪些?
创建阶段:
beforeCreate:实例初始化,数据未注入。
created:数据注入,但 DOM 未生成。

挂载阶段:
beforeMount:模板编译完成,DOM 未挂载。
mounted:DOM 挂载完成。

更新阶段:
beforeUpdate:数据更新,DOM 未重新渲染。
updated:DOM 重新渲染完成。

销毁阶段:
beforeDestroy:实例销毁前。
destroyed:实例销毁完成。
  1. 父子组件如何通信

父传子:通过 props。 通过 $emit 触发事件。

java

面试2 min read