2024最新面试经验分享
目录
- 重点掌握的知识点
- Java
- MySQL
- Redis
- 微服务
- 分布式系统
- 项目亮点
- 场景题/设计题
- 短链
- 抢红包
- 多租户
- 开放性问题
- 自我介绍
- 为什么跳槽
- 团队规模
- 如何带团队
- 如何看待加班
- 职业规划
主要针对Java程序员,当然也包含一些通用的内容。
重点掌握的知识点
需要重点掌握的知识点必须是当下最流行、最热门、面试被问到的概率最高的知识点,把时间花在掌握这些知识点上的收益最高,不要去研究冷门知识。
Java
HashMap
ConcurrentHashMap
垃圾回收
线程池
arthas
定位OOM
这几个是有代表性的,其他基础知识自不必多说,是需要掌握的。很多衍生出来的知识点,能多覆盖就多覆盖。再举几个例子:
- 死锁
- sleep和wait的区别
- 怎么定位CPU占用高的问题(top -h或者arthas)
- CMS和G1回收器的特点
MySQL
中间件方面,MySQL和Redis被问到的概率最高,因为这两个应用最广泛。首先说下MySQL,MySQL最容易被问到的知识点如下:
- 索引相关的,例如索引的数据结构B+树,如何创建高效的索引,哪些情况下索引会失效等。
- 利用explain+SQL语句查看SQL的执行计划,有哪些指标,该如何理解和分析。
- MySQL主从复制和读写分离的实现。
其他的,事务、锁、并发问题被问到的概率小一些。
B+树
索引下推
锁和事务的并发问题
读写分离
分库分表
Redis
Redis中经常会考察的知识点如下:
- 缓存穿透、缓存击穿、缓存雪崩
- 如何删除BigKey
- 持久化
- 缓存淘汰策略
- 主从复制或者哨兵模式
- 集群,一致性Hash算法
- 跳表、布隆过滤器
面试题
微服务
spring cloud和spring cloud alibaba都行,要熟悉每个组件的作用,里面最容易被拿来问问题的是限流、熔断、降级相关的知识点,如果你用的是spring cloud的,可以重点熟悉下Hystrix。
Hystrix要点总结
Hystrix详细介绍
分布式系统
分布式系统最经典的就是一致性问题,关于一致性的几个理论要知道。
分布式事务
分布式锁
分布式ID
项目亮点
项目亮点通常有几种提问方式:
- 你项目中解决的最复杂的问题
- 你觉得最有挑战性的功能
- 你有没有解决过某个问题,是怎么解决的
针对这些提问,可以结合自己的业务场景准备一些案例来作答,比如es的优化场景、利用redis缓存app数据并解决缓存失效的各种问题、mysql慢查询优化等等。回答这些问题时,有几个要点:
- 一定不能掺和太多业务上的东西进去,否则面试官光理解你的业务场景就要花很长时间,可能最后还没搞懂,然后不欢而散。
- 这个问题的答案尽量多跟技术沾边,最好是通用的技术,否则面试官可能没兴趣了解。
- 捡要点说,如果怕自己说不清楚,可以提前写下来,然后理解性记忆。
我的几个案例都来自我平时的工作总结:
es性能优化
Java程序内存优化
另外,回答这类问题可以套用STAR法则(Situation Task Action Result)。
场景题/设计题
短链
短链
抢红包
红包
多租户
参考1
参考2
开放性问题
自我介绍
叫什么,毕业于哪个学校,多少年经验,目前就职于哪家公司,公司主要是做啥的,你在公司主要是做啥的,项目特点(web项目?分布式项目?大数据实时分析项目),业余写博客?刷leetcode?写开源项目?
为什么跳槽
不要说公司和同事坏话,也不要抱怨自己工资低。
团队规模
目前人数少的话,可以按照高峰期的说。
如何带团队
每个项目或者功能模块安排一个首要责任人,首要责任人对自己的模块要非常熟悉,负主要责任,然后每个功能模块至少要有两个人熟悉,这样一个人请假或者离职的时候还能够替补上。
表现优异的要在绩效考核上给与正面回馈,表现不好的要及时沟通和了解情况。
定期组织技术分享,可以分享学习心得、解决问题的经验等等,这样每个人都会觉得自己一直在进步,有成就感。
对团队成员要友善,以鼓励为主,工作上有困难要及时沟通和提供帮助。
一般公司都有活动经费,平时多聚聚餐,定期组织活动,比如打羽毛球、篮球等,培养团队感情,增加凝聚力。
公司有福利的话,力所能及的帮团队成员争取。
如何看待加班
每家公司都有临时的突发事件或工作量繁重的重大项目,这个时候加班很正常,偶尔这样不要紧,能够接受。
职业规划
所面试的岗位技术含量高,就说追求技术。所面试的岗位偏业务,就说追求业务。
相关文章:
2024最新面试经验分享
目录 重点掌握的知识点JavaMySQLRedis 微服务分布式系统项目亮点场景题/设计题短链抢红包多租户 开放性问题自我介绍为什么跳槽团队规模如何带团队如何看待加班职业规划 主要针对Java程序员,当然也包含一些通用的内容。 重点掌握的知识点 需要重点掌握的知识点必须…...

《WebKit 技术内幕》之八(1):硬件加速机制
《WebKit 技术内幕》之八(1):硬件加速机制 1 硬件加速基础 1.1 概念 这里说的硬件加速技术是指使用GPU的硬件能力来帮助渲染网页,因为GPU的作用主要是用来绘制3D图形并且性能特别好,这是它的专长所在,它…...

子表单扫码录入,显著节省填写时间
01/17 主要更新模块概览 扫 码 识 别 新 增 字 号 登 录 配 置 匹 配 搜 素 扫码识别 路径:表单设计 >> 字段属性 功能简介 之前对子表单扫码录入,是单独在组件内设置扫码,操作需重新点击扫码功能,手工新增子表数据&a…...
【Redis】Ubuntu安装配置
目录 一、安装Redis 1.1 从APT仓库安装Redis 二、启动&关闭&重启 三、Redis核心配置 3.1 CONFIG命令 3.2 redis.conf文件说明 一、安装Redis 1.1 从APT仓库安装Redis 从APT仓库可以安装最新的Redis稳定版,步骤如下: 【1】安装需要用到的…...

idea远程服务调试
1. 配置idea远程服务调试 这里以 idea 新 ui 为例,首先点击上面的 debug 旁边的三个小圆点,然后在弹出的框框中选择 “Edit”,如下图所示。 然后进入到打开的界面后,点击左上角的 “” 进行添加,找到 “Remote JVM De…...
Google Colab运行Pytorch项目
Google Colab运行Pytorch项目 连接google drive切换到某一文件夹显示当前目录文件安装依赖执行py文件numpy相关numpy.random.randn() 参考文章:文章1 文章2 连接google drive from google.colab import drive import os drive.mount(/content/drive)切换到某一文件…...

Android Studi安卓读写NDEF智能海报源码
本示例使用的发卡器:https://item.taobao.com/item.htm?id615391857885&spma1z10.5-c.w4002-21818769070.11.1f60789ey1EsPH <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmln…...

Demo: 实现PDF加水印以及自定义水印样式
实现PDF加水印以及自定义水印样式 <template><div><button click"previewHandle">预览</button><button click"downFileHandle">下载</button><el-input v-model"watermarkText" /><el-input v-mo…...
每日OJ题_算法_二分查找①_力扣704. 二分查找
目录 二分查找算法原理 力扣704. 二分查找 解析代码 二分查找算法原理 二分查找一种效率较高的查找方法。但是,二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。一般步骤如下: 首先,假设表中元素是按升…...

【Python】--- 基础语法(1)
目录 1.变量和表达式2.变量和类型2.1变量是什么2.2变量的语法2.3变量的类型2.3.1整数2.3.2浮点数(小数)2.3.3字符串2.3.4布尔2.3.5其他 2.4为什么要有这么多类型2.5动态类型特征 3.注释3.1注释的语法3.2注释的规范 结语 1.变量和表达式 对python的学习就…...
详解gorm中DB对象的clone属性
详解gorm中DB对象的clone属性 Gorm 版本:v1.22.4 Where函数源码 // Where add conditions func (db *DB) Where(query interface{}, args ...interface{}) (tx *DB) {tx db.getInstance()if conds : tx.Statement.BuildCondition(query, args...); len(conds) &…...

数据库(MySQL库表操作)
目录 1.1 SQL语句基础(SQL命令) 1.1.1 SQL的简介 1.1.2 SQL语句的分类 1.1.3 SQL语句的书写规范 1.2 数据库操作 1.2.1 查看 1.2.2 自建库 1.2.3 切换数据库 1.2.4 删库 1.3 MySQL字符集 1.3.1 MySQL字符集包括: 1.3.2 utf8 和 u…...

内网穿透的应用-如何使用Docker部署Redis数据库并结合内网穿透工具实现公网远程访问
文章目录 前言1. 安装Docker步骤2. 使用docker拉取redis镜像3. 启动redis容器4. 本地连接测试4.1 安装redis图形化界面工具4.2 使用RDM连接测试 5. 公网远程访问本地redis5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Ub…...
计算机网络复试
第1章 概述 时延:发送(传输)时延传播时延 链路中每多一个路由器,就增加一个分组的发送时延 第2章 物理层 2.4 编码与调制->编码(基带调制)->曼彻斯特编码 ->带通调制->混合调制->正交振幅调制QAM 信道极限容量 奈氏准则 无噪声最大速…...

Android学习之路(23)组件化框架ARouter的使用
一、功能介绍 支持直接解析标准URL进行跳转,并自动注入参数到目标页面中支持多模块工程使用支持添加多个拦截器,自定义拦截顺序支持依赖注入,可单独作为依赖注入框架使用支持InstantRun支持MultiDex(Google方案)映射关系按组分类、多级管理&…...

HCIA vlan练习
目录 实验拓扑 实验要求 实验步骤 1、交换机创建vlan 2、交换机上的各个接口划分到对应vlan中 3、trunk干道 4、路由器单臂路由 5、路由器DHCP设置 实验测试 华为交换机更换端口连接模式报错处理 实验拓扑 实验要求 根据图划分vlan,并通过DHCP给主机下发…...

Ubuntu下安装Gazebo仿真器
Ubuntu下安装Gazebo仿真器 Gazebo仿真平台通常需要配合ROS使用,因此需要先安装ROS。可以参考ROS安装教程 首先安装一些必要的工具 sudo apt-get update sudo apt-get install lsb-release wget gnupg修改源 sudo wget https://packages.osrfoundation.org/gazebo…...

Chatgpt+Comfyui绘图源码说明及本地部署文档
其他文档地址: ChatgptComfyui绘图源码运营文档 ChatgptComfyui绘图源码线上部署文档 一、源码说明 1、源码目录说明 app_home:app官网源码chatgpt-java:管理后台服务端源码、用户端的服务端源码chatgpt-pc:电脑网页前端源码cha…...
ts中 any 和 unknown 有什么区别,分别什么时候使用
any 和 unknown 都是顶级类型 top type,也就是所有类型的父类型 (1)any代表任意类型, 是不做任何检查,相当于不使用 ts,不建议使用,使用 a as any as string 之类的,可以让类型检查…...

C++中命名空间、缺省参数、函数重载
目录 1.命名空间 2.缺省参数 3.函数重载 1.命名空间 在C中定义命名空间我们需要用到namespace关键字,后面跟上命名空间的名字,结构框架有点类似结构体(如图所示) 上面的代码我一一进行讲解: 1.我们先来说第三行和main函…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

Linux-进程间的通信
1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
2025.6.9总结(利与弊)
凡事都有两面性。在大厂上班也不例外。今天找开发定位问题,从一个接口人不断溯源到另一个 接口人。有时候,不知道是谁的责任填。将工作内容分的很细,每个人负责其中的一小块。我清楚的意识到,自己就是个可以随时替换的螺丝钉&…...

C++ Saucer 编写Windows桌面应用
文章目录 一、背景二、Saucer 简介核心特性典型应用场景 三、生成自己的项目四、以Win32项目方式构建Win32项目禁用最大化按钮 五、总结 一、背景 使用Saucer框架,开发Windows桌面应用,把一个html页面作为GUI设计放到Saucer里,隐藏掉运行时弹…...
qt 双缓冲案例对比
双缓冲 1.双缓冲原理 单缓冲:在paintEvent中直接绘制到屏幕,绘制过程被用户看到 双缓冲:先在redrawBuffer绘制到缓冲区,然后一次性显示完整结果 代码结构 单缓冲:所有绘制逻辑在paintEvent中 双缓冲:绘制…...