跳至主要內容
面试-Docker

面试-Docker

Docker常见命令

问:Docker常见命令

答:
1. docker ps:查看运行中的容器
2. docker ps -a:查看所有容器包括停止了的
3. docker pull xxx:下载容器xxxx
4. docker start xxx:启动容器xxx
5. docker stop xxx:停止容器xxx
6. docker restart xxx:重启容器xxx


TenSoFlow...小于 1 分钟面试面试-Docker
面试-Linux

面试-Linux

Linux常见命令

问:Linux常见命令

答:
1. cd:切换目录
2. ls:查看文件
3. tail -f:实时看日志
4. vim:修改配置文件
5. grep:过滤日志关键字
6. jps、kill:查看、杀死Java进程
7. netstat:查看端口
8. tar:压缩解压
9. java -jar xxx.jar:运行jar包
平时用cd、ls操作文件、vim改配置、tail -f实时看日志、grep查报错、netstat看端口、kill杀进程、运行jar包用java -jar、打包解压用tar。


TenSoFlow...小于 1 分钟面试面试-Linux
面试-MQ

面试-MQ

RabbitMQ交换机类型

问:RabbitMQ交换机类型

答:
1. fanout 广播:群发所有队列
2. direct 直连:精准匹配
3. topic 主题:模糊通配匹配

RabbitMQ如何保证消息不丢失

问:RabbitMQ如何保证消息不丢失

答:
1. 确保消息到RabbitMQ:开启发送确认机制,保证消息成功到达
2. 确保消息路由到正确的队列:路由失败通知
3. 确保消息在队列正确的存储:交换器、队列、消息都需要持久化
4. 确保消息从队列中正确的投递到消费者:手动确认,交给消费者自己来确认


TenSoFlow...大约 1 分钟面试面试-MQ
面试-技术场景

面试-技术场景

上传数据的安全性怎么控制

问:上传数据的安全性怎么控制

答:使用对称加密(加密和解密的密钥相同)或者非对称加密(公有密钥加密,私有密钥解密),给前端一个公钥让他把数据加密后传到后台,后台负责解密后处理数据。

遇到过那些棘手的问题

问:遇到过那些棘手的问题

答:
1. 使用了一些设计模式
2. 解决线上BUG:CPU飙高、内存泄露、线程死锁
3. 调优:慢接口、慢SQL、缓存方案
4. 组件封装:分布式锁、接口幂等、分布式事务


TenSoFlow...大约 2 分钟面试面试-技术场景
面试-Java

面试-Java

基础

Java八大基本类型

问:Java八大基本类型

答:
1. Byte(1)
2. Short(2)
3. Int(4)
4. Long(8)
5. Float(4)
6. Double(8)
7. Char(2)
8. Boolean(1)


TenSoFlow...大约 14 分钟面试面试-Java
面试-JVM

面试-JVM

JVM内存分析,解释下堆和栈

问:JVM内存分析,解释下堆和栈

答:JVM内存结构主要分为堆内存、方法区和栈。
1. 堆内存是JVM中最大的一块内存地址。所有new出来的对象都存储在该区域。
2. 栈就是暂存数据的地方,栈中只保存基础数据类型的对象和自定义对象的引用,每个栈中的数据都是私有的,其它栈不能访问。
3. 方法区存放了要加载的类的信息如类名、修饰符、静态变量、构造函数等


TenSoFlow...大约 3 分钟面试面试-JVM
面试-Mybatis

面试-Mybatis

Mybatis缓存机制

问:Mybatis缓存机制

答:
1. 一级缓存是MyBatis默认开启的缓存机制,它是指在同一个SqlSession内的缓存。当进行相同的查询时,如果该查询的结果已经在当前SqlSession的本地缓存中存在,则直接从缓存中获取结果,而不再去数据库查询。本地缓存的作用域是SqlSession,当SqlSession关闭时,本地缓存也会被清空。
2. 二级缓存是指在SqlSessionFactory层面的缓存,它可以被多个SqlSession共享。当多个SqlSession执行相同的查询时,如果查询结果已经存在于二级缓存中,则直接从缓存中获取结果,而不会再去数据库查询。二级缓存的作用域是SqlSessionFactory,在整个应用的生命周期内有效。需要注意的是,二级缓存需要在MyBatis的配置文件中明确地配置开启。


TenSoFlow...大约 1 分钟面试面试-Mybatis
面试-MySQL

面试-MySQL

索引是什么

问:索引是什么

答:索引(index)是帮助数据库高效获取数据的数据结构。MySQL数据库默认采用的是B+Tree的数据结构。其所有的数据都存储在叶子节点,非叶子节点仅用于索引数据。叶子节点形成了一个双向链表,便于数据的排序及区间范围查询。

-- 创建索引语句
CREATE INDEX 索引名 ON 表名(列名1, 列名2...);

-- 创建表的时候加索引
CREATE TABLE 表名 (
    列名1 数据类型,
    列名2 数据类型,
    列名3 数据类型,
    -- 唯一索引
    UNIQUE KEY 索引名 (列名2),
    -- 普通索引(KEY和INDEX 等价,KEY更简洁)
    KEY 索引名 (列名2)
);

TenSoFlow...大约 9 分钟面试面试-MySQL
面试-Redis

面试-Redis

介绍一下Redis

问:介绍一下Redis

答:Redis是一个基于Key-Value结构存储的非关系型数据库。数据类型有String、List、Set、Hash、SortedSte有序集合。其基于内存存储速度很快。使用场景有缓存、分布式锁、保存token、消息队列、延迟队列等


TenSoFlow...大约 7 分钟面试面试-Redis
2