快乐的程序员
面试题:二叉树的非递归后序遍历 面试题:二叉树的非递归后序遍历
写在前面前面分别介绍了面试题:二叉树的非递归前序遍历和面试题:二叉树的非递归中序遍历,举一反三,本文介绍二叉树的非递归后序遍历 方法一作者觉得这是最简单的一种方法,就是用两个栈。 申请两个栈s1, s2。后序遍历的步骤如下: 申请一个栈记
2024-04-05
面试题:二叉树的非递归前序遍历 面试题:二叉树的非递归前序遍历
写在前面上一篇文章面试题:二叉树的非递归中序遍历介绍了非递归中序遍历,举一反三,本文来介绍一下非递归前序遍历。 写完非递归前序遍历后发现,思路和代码根非递归中序遍历差不多,代码相似度高达90%,先看代码 代码// 定义节点 type Nod
2024-04-04
面试题:最小栈 面试题:最小栈
写在前面栈,是一个先进后出的数据结构。面试中经常会遇到栈的变体,比如最小栈,leetcode上原题:最小栈 题目描述 思路拿到这个题,作者想法是用单链表维持一个递增队列,每层插入(push)或者删除(pop)的时候,往递增队列中插入或者删除
2024-04-04
面试题:二叉树的非递归中序遍历 面试题:二叉树的非递归中序遍历
写在前面最近面试遇到这个算法题,其实二叉树的前序、中序、后续非递归算法是最基本的、必须掌握的算法。但是这个题目花了我40分钟时间,实在不应该,今天总结一下,希望下次能记住。 思路二叉树的中序遍历,其实就是左-》中-》右,先访问左孩子,然后访
2024-04-04
单点登录(SSO)的三种实现方式 单点登录(SSO)的三种实现方式
什么是单点登录单点登录(SSO,Single Sign On),是在企业内部多个应用系统(如考勤系统、财务系统、人事系统等)场景下,用户只需要登录一次,就可以访问多个应用系统。同理用户只需注销一次,就可以从多个应用系统退出登录。简单来说就是
2024-04-02
mysql 间隙锁、next-Key Lock mysql 间隙锁、next-Key Lock
写在前面之前讲过mysql乐观锁、悲观锁, 这两种锁都不会造成死锁,本文将讲解一下会造成死锁的间隙锁和next-Key Lock。 为什么有间隙锁和next-Key Lock间隙锁和next-key lock是为了解决幻读问题的,先回顾一下
2024-04-02
kafka如何保证消息高可用 kafka如何保证消息高可用
写在前面kafka保证消息高可用主要是三个方面:集群、partition、副本 集群单机是没有高可用可言的,高可用都是对集群来说的。Kafka 的基础集群架构,由多个broker组成,每个broker都是一个节点 直接读 leader 上的
2024-04-01
https工作流程 https工作流程
写在前面最近面试,被问到https工作流程,没有回答上来,其实挺简单的,本文总结一下。 http与https的区别思路: 这道题实际上考察的知识点是HTTP与HTTPS的区别,这个知识点非常重要,可以从安全性、数据是否加密、默认端口等这几个
2024-04-01
mysql的binlog三种格式:statement,row,mixed mysql的binlog三种格式:statement,row,mixed
写在前面面试中会被问到binlog相关知识,本文总结一下。 正文statementbinlog是归档日志,属于MySQL Server层的日志。可以实现主从复制和数据恢复两个作用。当需要恢复数据时,可以取出某个时间范围内的binlog进行重
2024-04-01
mysql乐观锁、悲观锁 mysql乐观锁、悲观锁
写在前面悲观锁面试过程中经常会被问到乐观锁、悲观锁,本文将详细介绍一下这两种锁。 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会
2024-04-01
面试经验总结 面试经验总结
三条最核心的架构师面试技巧,分别是原理、引导和自圆其说 原理对于面试而言,原理是关键。在现实开发过程中,我们用到的是实践技能,但面试则完全不一样。很多实践技能很难通过面试的方式展现出来,大多数公司面试的内容会比较偏向与理论和原理分析,这点在
2024-04-01 Alex
关系型数据库与非关系型数据库如何选型 关系型数据库与非关系型数据库如何选型
写在前面这个问题在面试中经常遇到,在工作中也会遇到数据库选型的问题,本文将从定义、优缺点方面介绍关系型数据库和非关系型数据库。 关系型数据库定义 关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库。 关系数据库具有严格的、静
2024-04-01
4 / 22