麻了,一面就这么难

总体而言,整个过程更看你回答的条理与深度,不太需要面面俱到,有自己的理解和思考反而会加分,不需要每道题都回答得百分百,有些问题属于面试官顺带提一嘴,但重点问题要答好。

一面

介绍下项目,因为项目涉及到分布式定时任务,问了下如何保证同一时间只有一个任务在跑。

因为里面用到了elasticjob,聊了下分布式定时任务框架。

怎么保证数据库数据不会重复插入?

唯一索引。

mysql和oracle的区别?

主要是上家公司用到了oracle,实际上面试官不太了解oracle,答一些大致的如oracle和mysql性能上的差异、一些sql语法细节的不同。

mysql分页的缺点?

mysql每次都分都是扫描offset+limit条数据,在深分页的情况下性能劣化很快。

如何解决深分页的性能问题?

先查主键,再根据主键查记录。或者利用索引,加个查询条件提高速度,如id>XXX。

给了个模拟场景写sql,问需不需要建索引。

进程和线程的区别?

进程是程序执行的实例,包含了程序代码、数据以及执行状态等信息。线程是进程中的一个执行单元,是CPU调度的基本单位。进程间与线程间通信方式不同、性能开销不同。

只有单核的情况下是不是只用进程就可以,不用线程。

什么是二叉树,二叉树的好处?

每个节点最多只能有两棵子树。快速查找和插入

给了到easy的算法题(寻找二叉树的公共祖先)

二面

答一下java中线程的五个状态?

一开始按操作系统答了,阻塞,就绪,等待,运行,结束。

面试官要求具体到java中的,答了canceling,running,stop,waiting,blocking。

阻塞和等待的区别?

还是按操作系统的线程答了,他说那在java中的等待就是在等cpu时间吗,我才反应过来是问wait方法(加入等待队列等等)。java调用wait的整个过程。

Arraylist<Integer> 和Arraylist<String>调用getclass返回的是同一个对象吗?为什么?

是。因为是泛型,虚拟机编译的时候只记录Arraylist。

了解类型擦除吗?(上一题想要引申的点,面试官主动提了)

什么是类型擦除?

什么时候确定类型的。(编译时编译器自动插入类型转换)

问了下索引失效情况?

其实就是在问联合索引的最左匹配原则。

explain语句,会返回什么,各个字段具体有什么取值。

给了道hard难度,直线上点最多的个数。

细节和边界没考虑好,算是对了思路,面试官不太满意,再给了道智力题(赛道与狗)。

三面

聊了下zookeeper,为什么用zookeeper做分布式协调中心,有对比过其他的吗?

有监视器。zk侧重CAP中的CP。Eureka是ap

zk怎么知道什么时候删除节点?

心跳链接(其实这里应该具体说说的,zk里面配置ticktime)。

心跳链接一断开就会删除节点吗?

是。

面试官给了问题当做提示,如果断开心跳链接后面又连接上怎么办?

立马反应过来答了sessiontime。

hashmap和concorruenthashmap的区别?

为什么hashmap不是线程安全的?

设置一个值的经过。

concurrenthashmap设置一个值的过程(cas与加锁)。

问了下redis的分布式锁,答了setnx,问了缺点,后面又问redlock。

后面又问redis的sortedset是怎么实现了,答了跳表。

跳表和红黑树的区别。

针对红黑树的缺点(范围查找),设计一种红黑树的区间查找算法(人傻了),答了加个双向链表,要求不改数据结构,乱答了。

给了到medium的lc(判断一个图是不是一个树),写得比较好,面试官问了下思路就过了。

总的来说很多知识点需要一个系统的梳理与学习,才能做到在面试的时候,不管面试官怎么问,都能很快地反应过来考验的是哪个知识点。特别是在项目环节,很多面试官会问诸如为什么这么设计、这么设计会有什么问题、假如是在XXX情况下,系统会遇到什么问题如何解决等发散型问题,如果只是浅显理解或者梳理不完全,有时候会反应不过来答不到点上,导致面试扣分。

为了方便日后复习,在这里精心整理了一份服务端的思维导图,既有进阶内容如云原生、分布式基础、计算技术、存储技术、中间件技术的内容,也有基础知识如计算机基础、数据库技术、网络技术。每个大类都有细分,关键知识点会有对应的博客网页,跳转过去即可学习。

关注公众号【不腾】,回复【服务端】即可获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探索MySQL:成本模型解析与查询性能优化

码到三十五 &#xff1a; 个人主页 在数据库管理系统中&#xff0c;查询优化器是一个至关重要的组件&#xff0c;它负责将用户提交的SQL查询转换为高效的执行计划。在MySQL中&#xff0c;查询优化器使用了一个称为“成本模型”的机制来评估不同执行计划的优劣&#xff0c;并选择…

我们常说的443端口是指的什么?

443端口是网页浏览端口&#xff0c;主要用于HTTPS服务&#xff0c;是提供加密和通过安全端口传输的另一种HTTP。在一些对安全性要求较高的网站&#xff0c;比如银行、购物、金融等行业都会采用HTTPS服务&#xff0c;能够保障用户资金和交易的安全性。443端口在我们日常生活中被…

怎样恢复已删除的照片?教你3个方法,一键恢复!

很多人喜欢以拍照的形式记录生活&#xff0c;手机里的照片就很容易堆积成山&#xff0c;但当内存不够用时就不得不选择删除。可是这些美好的照片始终是很多人心中抹不去的记忆&#xff0c;那么该怎样恢复已删除的照片呢&#xff1f;下面几招&#xff0c;教你一键恢复&#xff0…

吴恩达机器学习笔记:第 7 周-12支持向量机(Support Vector Machines)12.1-12.3

目录 第 7 周 12、 支持向量机(Support Vector Machines)12.1 优化目标 第 7 周 12、 支持向量机(Support Vector Machines) 12.1 优化目标 到目前为止,你已经见过一系列不同的学习算法。在监督学习中&#xff0c;许多学习算法的性能都非常类似&#xff0c;因此&#xff0c;重…

[计算机知识] TCP/IP网络模型、MySQL的结构

TCP/IP网络模型 应用层 给用户提供应用功能&#xff0c;如HTTP, DNS 应用层处于用户态&#xff0c;传输层及以下处于内核态 传输层 给应用层提供网络支持&#xff0c;如TCP, UDP TCP提供稳定、面向连接的网络传输协议 应用层的数据可能会太大&#xff0c;就需要进行拆分…

大恒相机-程序异常退出后显示被占用

心跳时间代表多久向相机发送一次心跳包&#xff0c;如果超时则设备会认为断开了&#xff0c;停止工作并主动释放占用资源。 在相机打开后添加代码&#xff1a; #ifdef _DEBUG//设置心跳超时时间 3sObjFeatureControlPtr->GetIntFeature("GevHeartbeatTimeout")-&…

Github上传大文件(>25MB)教程

0.在github中创建新的项目&#xff08;已创建可忽略这一步&#xff09; 如上图所示&#xff0c;点击New repository 进入如下页面&#xff1a; 1.下载Git LFS 下载git 2.打开gitbash 3.上传文件&#xff0c;代码如下: cd upload #进入名为upload的文件夹&#xff0c;提前…

【御控物联】 JavaScript JSON结构转换(21):数组To对象——综合应用

文章目录 一、JSON结构转换是什么&#xff1f;二、术语解释三、案例之《JSON数组 To JSON对象》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么&#xff1f; JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

希亦、石头、添可洗地机哪个更好用?资深家电测评师多角度横评

作为一个测评了许多洗地机的家电测评师&#xff0c;有很多人问我&#xff0c;他想入手一款适合自己的家用洗地机&#xff0c;不知道怎么购买到自己合适的&#xff0c;结果自己跑去搜索后发现为什么有的洗地机几百块钱就能入手&#xff0c;而有的又得几千元&#xff0c;买贵的怕…

JS--demo2录入学生信息

实现学生信息录取。 效果图: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><meta http-equiv"X-U…

JS小项目-计算器

需求&#xff1a;根据素材制作如图所示页面&#xff0c;在页面输入第一个数和第二个数&#xff0c;单击&#xff08;加&#xff09;、&#xff0d;&#xff08;减&#xff09;、&#xff0a;&#xff08;乘&#xff09;、&#xff0f;&#xff08;除&#xff09;按钮时&#xf…

Your file appears not to be a valid OLE2 document

前言 org.apache.poi.poifs.filesystem.NotOLE2FileException:Invalid header signature; read 0x0000000000000000, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document解决 Excel兼容模式打开老版本文件造成文件损坏&#xff0c;大多说的是点…

vscode-tasks.json自定义任务

以下所有内容,参考自VScode官方文档: vscode_tasks-docs任务说明文档vscode_variables-reference-docs变量说明文档vscode addtional docs for tasksvscode launch.json 属性设置文档,(下文没有介绍,没有涉及) 浅浅记录一下个人对vscode任务(task)的理解,还谈不上使用. 文章目…

linux通配符

通配符&#xff0c;它是一种用于匹配文件名的特殊字符。通配符在Linux中可以帮助我们更加方便和快捷地查找和操作文件。

IDEA new ui 找不到evaluate

问题 idea升级新版本之后&#xff0c;发现熟悉的evaluate不见了&#xff0c;只能通过快捷键启动&#xff0c;未免太麻烦了&#xff0c;如何像旧版一样添加图标直接点呢&#xff1f; 解决方案 打开debug窗口&#xff0c;在这个地方右键&#xff0c;然后选择add actions 搜索…

Mysql底层原理四:B+树索引

B树索引&#xff08;索引的原理&#xff09; 1.前言 前边我们详细唠叨了InnoDB数据⻚的7个组成部分&#xff0c;知道了各个数据⻚可以组成⼀个双向链表&#xff0c;⽽每个数据⻚中的记录会按照主键值从⼩到⼤的顺序组成⼀个单向链 表&#xff0c;每个数据⻚都会为存储在它⾥边…

【Web】纯萌新的CISCN刷题记录(1)

目录 [CISCN 2019华东南]Web11 [CISCN 2019华北Day2]Web1 [CISCN 2019初赛]Love Math [CISCN 2022 初赛]ezpop [CISCN 2019华东南]Double Secret [CISCN 2023 华北]ez_date [CISCN 2019华北Day1]Web1 [CISCN 2019华东南]Web4 [CISCN 2019华北Day1]Web2 [CISCN 2023 …

解决电脑无故自动关机或重启的15种方法,总有一种适合你

序言 你的Windows PC是否在没有警告的情况下关闭或重新启动?这背后有几个潜在的原因。例如,它可能是软件/硬件冲突、过热或硬盘驱动器错误。本故障排除指南将概述在Windows 10/11中修复自动关闭和重新启动的多个解决方案。 如果你的计算机经常关闭,则必须在安全模式下启动…

JMeter 常见函数讲解

当使用JMeter进行性能测试或负载测试时&#xff0c;函数是一个非常有用的工具&#xff0c;可以帮助生成动态的测试数据或处理测试结果。 下面是一些常用的JMeter函数的详细讲解和并列示例&#xff1a; 1、__threadNum&#xff1a; 返回当前线程的编号。可以在测试过程中用于…

2024/4/1—力扣—主要元素

代码实现&#xff1a; 思路&#xff1a;摩尔投票算法 int majorityElement(int *nums, int numsSize) {int candidate -1;int count 0;for (int i 0; i < numsSize; i) {if (count 0) {candidate nums[i];}if (nums[i] candidate) {count;} else {count--;}}count 0;…