跳到主要内容

1 篇博文 含有标签「面试」

查看所有标签

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 分钟