麻了,一面就这么难

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

一面

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

因为里面用到了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;并选择…

高性价比国产安全MCU-LKT6850

LKT6850是一款以32位ARMCortexTM -M0处理器内核为基础的高性价比安全MCU。LKT6850具有最高64KBFlash、4KBRAM、48MHZ工作频率&#xff0c;具有丰富的外设资源供开发人员使用。芯片可实现DES/3DES/AES/SM4等对称算法&#xff0c;可实现多种安全身份认证、数据加解密等功能。该产…

Linux C++ 024-STL初识

Linux C 024-STL初识 vector 本节关键字&#xff1a;Linux、C、STL初始、迭代器、vector 相关库函数&#xff1a;for_each、push_back STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西。c的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升。…

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之Port模块配置详解(MCAL配置)

Port模块配置详解 前言一、如何添加Port模块?1.1 导入Port模块二、Port模块详细配置说明2.1 Port模块问题解决2.2 Port模块配置步骤2.2.1 数据手册查找Port对应的Group2.2.2 配置Port为CAN功能2.2.3 选择芯片型号总结前言 我们还差一个Port模块进行配置io的复用功能选择。就是…

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

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

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

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

pyqt5 QImage QPixmap Opencv图像 相互转换

目录 1. Opencv图像 转 QImage2. Opencv图像 转 QPixmap3. QImage 转 Opencv图像4. QPixmap 转 opencv图像5. QPixmap 转 QImage6. QImage 转 QPixmap 1. Opencv图像 转 QImage def cvimage_to_qimage(cvimage): image cv2.cvtColor(cvimage, cv2.COLOR_BGR2RGB)qimage QIm…

求KMP的算法

求KMP的算法### 求next数组方法&#xff1a; 首先求每个子串的最长前后缀 1、next 数组的定义 next 数组&#xff08;前缀表&#xff09;是在 KMP 算法中使用到的&#xff0c;用于匹配模式串相同前后缀长度 它可以减少匹配次数&#xff0c;其原理是将模式串中每个子串的相同…

吴恩达机器学习笔记:第 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")-&…

Maven私服与高级配置:提升企业级开发效率

传递依赖&#xff1a; 添加spring-webmvc的核心依赖坐标时&#xff0c;会发现以外的其他jar包。因为项目依赖spring-webmvc.jar&#xff0c;而spring-webmvc.jar会依赖spring-bean.jar等&#xff0c;所以依赖spring-webmvc.jar时它依赖的jar包也会出现在当前工程中&#xff0c…

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

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

docker安装部署mysql后忘记root密码

应用场景是&#xff1a;用docker安装完mysql后&#xff0c;使用安装时候设置的密码登录不上MySQL&#xff1b; 1、修改docker映射出mysql的配置文件&#xff1a;my.cnf 在mysqld最下方添加skip-grant-tables进入安全模式&#xff08;随意一个密码即可登录mysql&#xff09; [m…

Key exchange failed.No compatible key exchange method.

使用远程工具secureCRT (版本&#xff1a;Version 7.0.0 (x64 build 326) ) 连接Linux&#xff08;Ubuntu-22.04&#xff09;系统 若20之前的ubuntu系统版本参考&#xff1a;&#xff1a; &#x1f517;使用远程工具连接Linux系统 1、检查ssh-server版本 sudo dpk…

【御控物联】 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…

golang特性1

golang特性 defer、recover异常捕获和处理 应用场景 1. 资源释放 文件操作&#xff1a;在打开文件后&#xff0c;使用 defer 关闭文件句柄&#xff0c;确保文件在函数退出时被关闭&#xff0c;避免资源泄漏。数据库连接&#xff1a;在打开数据库连接后&#xff0c;使用 def…

JS小项目-计算器

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