自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据库面试总结

数据库的三大范式第一范式:数据库中每一个属性都不可再分(不可以用多重值);第二范式:数据库中非主键属性必须完全依赖于全体主键第三范式:数据库中非主键属性不能传递依赖于主键触发器的作用?触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另...

2019-08-28 11:03:00 189

转载 八大数据结构分类

原文链接:https://blog.csdn.net/yeyazhishang/article/details/82353846本文目录:数据结构分类1、数组2、栈3、队列4、链表5、树6、散列表7、堆8、图数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表...

2019-08-28 09:57:22 163

原创 AVL树,红黑树,Tire树,二叉排序树,B树总结对比

1.二叉排序树二叉排序树又称二叉查找树(二叉搜索树),它或是一棵空的二叉树,或是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于根节点的值若它的右子树不空,则右子树上所有节点的值均大于根节点的值它的左右子树也都是二叉排序树如果二叉排序树是平衡的,则n个节点的二叉排序树的高度为,其查找效率为,近似于折半查找。如果二叉排序树完全不平衡,则其深度可达到n,查找效率为O(n...

2019-08-28 09:53:20 441

转载 各种数据结构的时间复杂度分析

对于同一个数据结构来说,底层实现的不同往往会呈现出不同的时间复杂度。以数组为例:. 普通数组实现 顺序数组实现 二分搜索树(平衡)插入 O(1) O(n) O(logn)查找 O(n) O(logn) O(logn)删除 O(n) O(n) O(logn)文章目录1. 动态数组2. 数组栈3. 数组队列4....

2019-08-28 09:51:20 2258

转载 十道海量数据处理面试题与十个方法大总结

原文链接:https://blog.csdn.net/v_JULY_v/article/details/6279498第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文...

2019-08-28 09:47:42 114

原创 CVTE中央研究院后台开发二面面经

1.自我介绍2.死怼项目,怼了好久3.UDP是不可靠的让你自己设计保证数据的完整性我讲了在包头加数据长度,收到数据后根据长度保证收到的数据很完整4.数据库十万个数据,如何保证并发行自己讲了一点点5.一张表数据很大如何优化随便说了点点6.数据库如何建表和优化7.自己的人生规划先从初级到中级再到高级软件开发工程师8.作为一名后台开发工程师需要学习那些技术...

2019-08-27 21:31:20 4644

原创 BIGOJava开发一面面经

1.自我介绍2.项目团队由几个人分工情况有互联网实习经验会很有优势3.线程和进程的区别每次都会问4.GC每次我都讲的是GC算法5.局部变量存在哪里毫不犹豫答栈6.内存泄漏怎么定位不知道,但是我讲了什么叫做内存泄漏,总比啥都不知道好7.多线程如何确保同步讲了synchroinzed,voliate,ThreadLocall8voliate原理总...

2019-08-27 21:17:04 562

原创 CVTE中央研究院后台开发一面面经

1.自我介绍讲了项目以及大学所学的一些课程2.JVM的垃圾回收机制讲了垃圾回收算法3.线程和进程的区别该问题面试经常问,比较基础4.线程池,自己怎么实现讲了四种常见线程池,如何设计没有思路5.围绕项目问计算机网络比如IP协议,TCP/UDP6.设计模式讲了单例设计模式以及如何实现7.如何用互斥锁实现可重入锁没有思路8.设计问题,给一段内存空间,如...

2019-08-23 14:59:11 13446

转载 网络OSI七层模型及各层作用

(1)OSI七层模型OSI中的层 功能 TCP/IP协议族应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet表示层 数据格式化,代码转换,数据加密 没有协议会话层 解除或建立与别的接点的联系 没有协议传输层 提供端对端的接口 TCP,UDP网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,...

2019-08-12 09:00:46 1420

原创 BFS和DFS算法学习总结

BFS:这是一种基于队列这种数据结构的搜索方式,它的特点是由每一个状态可以扩展出许多状态,然后再以此扩展,直到找到目标状态或者队列中头尾指针相遇,即队列中所有状态都已处理完毕。广度优先搜索(BFS)有一个有向图如图a 图a广度优先搜索的策略是:从起始点开始遍...

2019-07-08 09:33:40 767

转载 计算机网络知识总结

分层体系:OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议(5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的作用如下:物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)数据链路层:将比特组装成帧和点到点的传递(帧Frame)网络层:负责数...

2019-07-08 07:29:13 132

转载 B树、B+树与B*树

B树的定义B树(B-tree)是对2-3树数据结构的扩展,又称为多路平衡查找树,它的一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同, B树是一种自平衡树数据结构,可以保持数据排序,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构 B树针对读写大数据块的系统进行了优化。B树的算法减少定位记录时所经历的中间过程,从...

2019-07-05 21:52:40 179

转载 二叉树

原文:https://blog.csdn.net/baiye_xing/article/details/76838886二叉树的定义 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。二叉树是递归定义的,所以一般二叉树的相关题目也都可以使用递归的思想来解决,当然也有一些可以...

2019-07-05 08:41:20 105

转载 JAVA基础面试题

抽象类和接口抽象类可以有构造函数,接口不可以有构造函数抽象类中可以有普通成员变量,接口中没有普通成员变量,只能有常量抽象类中的方法可以被static修饰,接口中的方法不可以被static修饰抽象类中可以有普通方法和抽象方法,接口中的方法全是抽象方法一个类只能继承一个抽象类,接口可以被多实现,即一个类只能继承一个类,可以实现多个接口何时使用接口主要用于模块与模块之间的调用。主要用接口...

2019-07-05 07:37:18 1371 1

转载 海量数据处理面试总结

第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几...

2019-07-04 21:16:04 133

转载 Spring Boot面试题

一.什么是springboot用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序 main方法运行嵌入的Tomcat 无需部署war文件简化maven配置自动配置spring添加对应功能starter自动化配置答:spring boot来简化spring应用开发,约定大于配置,去繁从简...

2019-07-04 21:02:47 107

原创 多线程常见面试题

synchronized与Lock的区别(1)synchronized是基于JVM层面实现的,而Lock是基于JDK层面实现的,通过队列同步器AQS实现。(2)synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现发象生;而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁。...

2019-07-04 20:25:08 156

转载 Mybatis常见面试题总结

原文:https://blog.csdn.net/a745233700/article/details/80977133一.什么是Mybatis?(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵...

2019-07-04 15:49:52 138

转载 Spring面试题

原文:https://blog.csdn.net/baiye_xing/article/details/90739988一.什么是 Spring 框架?Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护。它是一个一站式(full-stack全栈式)框架,提供了从表现层-springMVC到业务层-spring再到持久层-springdata的一套完整的解决方案。...

2019-07-04 09:47:58 244

转载 Spring MVC常见面试题

原文:https://blog.csdn.net/a745233700/article/details/80963758一.什么是Spring MVC ?简单介绍下你对springMVC的理解? SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的w...

2019-07-04 09:46:39 109

转载 计算机网络面试基础知识

参考:https://blog.csdn.net/qq_34337272/article/details/81776275一 OSI与TCP/IP各层的结构与功能,都有哪些协议五层协议的体系结构1 应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不...

2019-07-02 19:54:53 298

转载 计算机网络常见面试题

参考:https://www.cnblogs.com/snailclimb/p/9086322.html https://blog.csdn.net/qq_34337272/article/details/81776275 https://blog.csdn.net/xingxingba123/article/details/52743335一....

2019-07-02 19:10:37 775

转载 Http协议面试知识点总结

参考:https://blog.csdn.net/weixin_38051694/article/details/777770101.说一下什么是Http协议对器客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式2.什么是Http协议无状态协议?怎么解决Http协议无状态协议?(1...

2019-07-02 18:32:12 205

转载 HashMap详解

基本原理 HashMap根据键的hashCode值存储数据,在JDK7中采用的是数组+链表的方式,而在JDK8中采用的是位桶+链表/红黑树的方式,如果发生哈希冲突时,HashMap通过链表将产生碰撞冲突的元素组织起来,通过拉链法解决冲突;当链表的长度超过8时,就将链表转换成红黑树, Node是HashMap的一个内部类,实现了Map.Entry接口,本质是就是一个映射(键值对)...

2019-07-02 14:16:38 229

转载 ConcurrentHashMap详解

参考:https://www.cnblogs.com/xiang--liu/p/10783685.html底层数据结构 JDK1.7的 ConcurrentHashMap 底层采用 分段的数组+链表 实现,JDK1.8 采用的数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树。Hashtable 和 JDK1.8 之前的 HashMap 的底层数据结构类似都...

2019-07-02 14:16:31 199

转载 常见的 Linux 命令

目录切换命令`cd usr`: 切换到该目录下usr目录 `cd ..(或cd../)`: 切换到上一层目录 `cd /`: 切换到系统根目录 `cd ~`: 切换到用户主目录 `cd -`: 切换到上一个所在目录目录的操作命令(增删改查)`mkdir 目录名称`: 增加目录 `ls或者ll`(ll是ls -l的缩写,ll命令以看到该目录下的所有目录和文件的详细信息):...

2019-07-02 10:04:28 133

转载 Linux 文件系统

在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。也就是说在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文...

2019-07-02 10:02:52 216

转载 后端面试指南

一 简历该如何写 1.1 为什么说简历很重要? 1.2-这3点你必须知道 1.3-两大法则了解一 1.4-项目经历怎么写? 1.5-专业技能该怎么写? 1.6-开源程序员简历模板分享 1.7 其他的一些小tips 二 计算机网络常见面试点总结 计算机网络常见问题回顾 2.1 TCP、UDP 协议的区别 2.2 在浏览器中输入url地址 ->> 显示主页的过程 2.3 各种协议与HTT...

2019-07-02 09:28:02 174

转载 TCP的三次握手与四次挥手理解与常见面试题

原文:https://blog.csdn.net/qq_38950316/article/details/81087809序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期...

2019-07-02 08:49:29 87

原创 计算机网络中各层对应的协议

TCP/IP:数据链路层:ARP,RARP网络层: IP,ICMP,IGMP传输层:TCP ,UDP,UGP应用层:Telnet,FTP,SMTP,SNMP,DNS,HTTPOSI:物理层:EIA/TIA-232, EIA/TIA-499,V.35, V.24,RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS数据链路层:Fr...

2019-07-01 20:56:57 1322

原创 双亲委派模型

双亲委派模型是每次收到类加载请求时,先将请求委派给父类加载器完成,如果父类加载器无法完成加载,那么子类尝试自己加载启动类加载器,扩展类加载器,应用程序加载器 采用双亲委派的好处是,不管哪个加载器加载这个类,最终都是委托给顶层的启动加载器加载这个类,这样就保证了使用不用的类加载器最终得到的都是同样的Object对象...

2019-06-15 09:23:29 63

原创 快速排序Java实现

快速排序的基本思想:数组中的每个元素与基准值比较,数组中比基准值小的放在基准值的左边,形成左部;大的放在右边,形成右部;接下来将左部和右部分别递归地执行上面的过程:选基准值,小的放在左边,大的放在右边,直到排序结束。时间复杂度:O(nlogn) 空间复杂度:O(nlogn)​​​​​​​ 稳定性:不稳定public class QuickSort { public int getMi...

2019-01-01 14:46:06 170

原创 冒泡排序Java实现

交换排序的基本思想是,比较两个记录的大小,如果这两个记录的大小出现逆序,则交换这两个记录,这样将较小的记录向序列前部移动,较大的记录向序列后部移动。首先我们来看交换排序中的第一种排序---冒泡排序,首先将第一个记录的键值和第二个键值进行比较,若为逆序,,则将这两个记录交换,然后继续比较第二个和第三个记录的大小,依此类推,直到完成第n-1个记录和第n个记录的大小比较交换为止,上述过程称为第一趟冒泡,...

2018-12-25 10:09:56 119

原创 简单选择排序算法JAVA实现

简单选择排序的过程为:第1次,从n个记录中找出关键码最小的记录与第1个记录交换,第2次,,从第2个记录开始的n-1个记录中再选出关键码最小的记录与第2个记录交换;如此,第i次,则从第i个记录开始的n-i+1个记录中选出关键码最小的记录与第i个记录交换,直到整个序列按关键码有序。例:3,1,4,2第1次·:1,3,4,2第2次:1,2,4,3第3次:1,2,3,4 时间复杂度...

2018-12-25 09:38:40 1912

原创 栈的java实现(基于jdk库的链表)

public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();} public class LinkedListStack<E> implements Stack<E> { private Link...

2018-12-24 10:58:26 291

原创 栈的java实现(基于自定义的链表)

 自定义的链表代码在我的博客《单链表的JAVA实现(基于虚拟头节点实现了添加,更新,查找,删除元素)》public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();}public class LinkedListStack&l...

2018-12-24 10:54:51 142

原创 单链表的JAVA实现(基于虚拟头节点实现了添加,更新,查找,删除元素)

public class LinkedList<E> { private class Node { public E e; public Node next; public Node(E e, Node next) { this.e = e; this.next = next; } public Node(E e) { this(e, n...

2018-12-24 10:23:21 2974 1

原创 Leetcode804.Unique Morse Code Words (莫尔斯电码重复)

International Morse Code defines a standard encoding where each letter is mapped to a series of dots and dashes, as follows: "a" maps to ".-", "b" maps to "-...", "c" maps to "-.-.", and so on.F

2018-12-23 19:48:58 172

原创 LeetCode349.Intersection of Two Arrays(两个数组的交集)

Given two arrays, write a function to compute their intersection.Example 1:Input: nums1 = [1,2,2,1], nums2 = [2,2]Output: [2]Example 2:Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]Output: [...

2018-12-23 19:05:48 73

原创 LeetCode350.Intersection of Two Arrays II(两个数组的交集 II)

 Given two arrays, write a function to compute their intersection.Example 1:Input: nums1 = [1,2,2,1], nums2 = [2,2]Output: [2,2]Example 2:Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]Outp...

2018-12-23 18:58:11 78

40个经典单片机实验

51单片机经典的实验,有助大家最短时间学会51单片机,以及快速提高

2015-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除