摘要: 数据结构之线性表 线性表的抽象数据类型定义: Date 线性表的数据对象集合为{A1, A2, ..., AN},每个元素的类型均为DateType 。其中除了第一个元素A1外,每一个元素有且只有一个直接前驱,除了最后一个元素AN外,每一个元素有且只有一个直接后继。数据元素之间的关系是一对一的关系。 operatio 阅读全文
posted @ 2022-08-20 23:49 sugeek 阅读(58) 评论(0) 推荐(0)
摘要: Redis 面试题 不过本文不是要讲述数据结构和算法的,而是另外一个面试重点Redis,因为Redis也是跨语言的共同技术点,无论是Java还是C++都会问到,所以是个高频面试点。 笔者是2017年才开始接触Redis的,期间自己搭过单机版和集群版,不过现在公司大一些都完全是运维来实现的,我们使用者只需要在web页面进 阅读全文
posted @ 2022-08-20 21:03 sugeek 阅读(113) 评论(0) 推荐(0)
摘要: 十大经典排序算法大梳理 时间、空间复杂度比较 排序算法 平均时间复杂度 最差时间复杂度 空间复杂度 数据对象稳定性 冒泡排序 O(n2) O(n2) O(1) 稳定 选择排序 O(n2) O(n2) O(1) 数组不稳定、链表稳定 插入排序 O(n2) O(n2) O(1) 稳定 快速排序 O(n*log2n) O(n2) 阅读全文
posted @ 2022-08-20 20:58 sugeek 阅读(297) 评论(0) 推荐(0)
摘要: 计网 TCP/UDP 部分高频面试题 目 录 1、UDP 和 TCP 的特点与区别 2、UDP 、TCP 首部格式 3、什么是TCP 的三次握手和四次挥手 4、TCP 的三次握手(为什么三次?) 5、TCP 的四次挥手(为什么四次?) 6、TCP 长连接和短连接的区别 7、TCP粘包、拆包及解决办法 8、TCP 可靠传输 9、TCP 滑 阅读全文
posted @ 2022-08-20 20:57 sugeek 阅读(73) 评论(0) 推荐(0)
摘要: 操作系统高频面试题 1、为什么有了进程,还要有线程呢? 为了提高系统资源的利用率和系统的吞吐量,通常进程可让多个程序并发的执行,但是也会带来一些问题 官话 进程如果在执行的过程被阻塞,那这个进程将被挂起,这时候进程中有些等待的资源得不到执行: 进程在同一时间只能做一件事儿 基于以上的缺点,操作系统引入了比进程粒度更小的 阅读全文
posted @ 2022-08-20 20:54 sugeek 阅读(109) 评论(0) 推荐(0)
摘要: C语言/C++基础面试知识 const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer); 修饰引用,指向常量的引用(reference to const),用于形参类型,即避免了拷贝,又避免了函数对值的修改; 阅读全文
posted @ 2022-08-20 20:49 sugeek 阅读(177) 评论(0) 推荐(0)
摘要: Spring Cloud基础面试题 本文知识点目录 为什么需要学习Spring Cloud 什么是Spring Cloud 设计目标与优缺点 设计目标 优缺点 Spring Cloud发展前景 整体架构 主要项目 Spring Cloud Config Spring Cloud Netflix Spring Cloud Bus Spr 阅读全文
posted @ 2022-08-20 20:47 sugeek 阅读(61) 评论(0) 推荐(0)
摘要: Spring Boot基础面试题 文章知识点目录 概述 1.什么是 Spring Boot? 2.Spring Boot 有哪些优点? 3.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 配置 4.什么是 JavaConfig? 5.Spring Boot 自动配置原理是什么? 6.你如何理解 Spring B 阅读全文
posted @ 2022-08-20 20:43 sugeek 阅读(86) 评论(0) 推荐(0)
摘要: Spring 经典面试题 1、基础概念 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年。这是第一个支持注解的版本。 Spring 3.0 发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 提供了支持。 阅读全文
posted @ 2022-08-20 20:41 sugeek 阅读(53) 评论(0) 推荐(0)
摘要: 44个Java代码性能优化总结 代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。然而为了解决这个错误,我们需要先自验证、再打包出待替换的class文件、暂停业务并重启,对于一个成熟的项目而言,最后一条其 阅读全文
posted @ 2022-08-20 20:11 sugeek 阅读(49) 评论(0) 推荐(0)
摘要: Java中的6颗语法糖 语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。 Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编 阅读全文
posted @ 2022-08-20 20:10 sugeek 阅读(126) 评论(0) 推荐(0)
摘要: Java JVM MM简介 Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一的保证。(可能在术语上与Java运行时内存分布有歧义,后者指堆、方法区、线程栈等内存区域)。 并发编程有多种风格,除了CSP(通信顺序 阅读全文
posted @ 2022-08-20 20:08 sugeek 阅读(62) 评论(0) 推荐(0)
摘要: Java多线程 同步和异步 同步,Synchronous,即调用方法开始,一旦调用就必须等待方法执行完返回才能继续下面的操作。 举个例子,你去银行ATM取钱,你必须等到ATM吐完钱你拿到钱取完卡你才能离开。 异步,Asynchronous,即不关心方法执行的过程,触发要调用的方法就继续执行下面的操作,不会像同步那样 阅读全文
posted @ 2022-08-20 20:06 sugeek 阅读(26) 评论(0) 推荐(0)
摘要: Java集合 1、集合接口 java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。声明了适用于JAVA集合(只包括Set和Lis 阅读全文
posted @ 2022-08-20 18:33 sugeek 阅读(31) 评论(0) 推荐(0)
摘要: 关于set类的一个细节 我们经常听说List是有序且重复的,Set是无序不重复的。这里有个误区,这里说的顺序有两个概念,一是按添加的顺序排列,二是按自然顺序a-z排列。Set并不是无序的,传统说的Set无序是指HashSet,它不能保证元素的添加顺序,更不能保证自然顺序,而Set的其他实现类是可以实现这两种顺序的。 保证元 阅读全文
posted @ 2022-08-20 18:31 sugeek 阅读(25) 评论(0) 推荐(0)
摘要: 本系列将采用Java语言来进行描述。亦即总结常见的的数据结构,以及在Java中相应的实现方法,务求理论与实践一步总结到位。 首先给出Java集合框架的基本接口/类层次结构: java.util.Collection [I] +--java.util.List [I] +--java.util.Arr 阅读全文
posted @ 2022-08-20 15:33 sugeek 阅读(236) 评论(0) 推荐(0)
摘要: 数据结构与算法基础知识 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有程序=数据结构+算法这个等式存在。各个中间件开发者,架构师他们都在努力的优化中间件、项目结构以及算法提高运行效率和降低内存占用,在这里数据结构起到相当重要的作用。此外数据结构也蕴含一些面向对象的思想,故学好掌握数据结构 阅读全文
posted @ 2022-08-20 15:23 sugeek 阅读(157) 评论(0) 推荐(0)
摘要: 娱乐至死 尼尔·波兹曼说:“娱乐至死的可怕之处,不在于娱乐本身。而在于,人们日渐失去对社会事务的严肃思考,和理智判断能力。” 1985年出版的《娱乐至死》这本书上还有有一句话: “我们的政治、宗教、新闻、体育、教育和商业都心甘情愿地成为娱乐的附庸,毫无怨言,甚至无声无息,其结果是我们成了一个娱乐至死的物种。” 阅读全文
posted @ 2022-08-20 12:28 sugeek 阅读(803) 评论(0) 推荐(0)