- 博客(15)
- 收藏
- 关注
原创 深入了解Web协议 - 技术人员基本功
Web协议栈的重点组成部分包括HTTP、TLS/SSL、TCP/IP;我们应从应用层协议,即HTTP学起,然后自上而下逐渐深入到底层协议,带着应用中的具体问题去学习底层协议会更有针对性;学习HTTP协议,要从简单、易入门的浏览器抓包开始,通过抓包来深入到协议的各个细节。将业务代码、Web中间件与协议本身结合起来、触类旁通,以此在我们的知识体系中建立起结构化的内容。(在历史发展中,实现会反过来推动协议规范的制订)学习TLS/SSL时,要先掌握Wireshark这个强大的抓包工具,在实践中体验非对称加密的
2021-12-19 23:51:34 279
原创 Java基础 - 博学谷
JDK, JRE, JVM的概念和作用,三者的关系jdk:java开发工具包,包含开发java程序所需的工具以及jrejre:java运行环境,包含运行java程序所需的核心类库和jvmjvm:java虚拟机,用来保证java程序跨平台运行 (win版/linux版/mac版 jvm本身不能跨平台)参考:https://www.bilibili.com/video/BV1Wx411f7qN?from=search&seid=974658451398...
2021-02-24 09:02:32 147 1
原创 操作系统 面试常备
1.进程间的五种通信方式- 管道 (无名管道):速度慢,容量有限,只有父子进程能通讯- FIFO (有名管道) :任何进程间都能通讯,但速度慢- 消息队列 消息的链接表,容量受到系统限制- 信号量 信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据- 共享内存 能够很容易控制容量,速度快,但要保持同步...
2021-01-18 00:49:51 138
原创 软件测试面试题
全面掌握软件测试理论基础、文档编写、测试流程1.测试分为哪几个阶段2.谈谈你之前测试的项目流程,在每个阶段的输出有哪些需求分析,探讨需求功能点,数据库表的设计,接口设计(需求文档)主管编写测试计划,任务分配,用例的设计,整理测试要点,用例评审(用例设计)测试过程中,bug的提交,jira,bug的生命周期(测试缺陷报告)3.谈谈敏捷模式的认识4.linux常见查看日志命令有哪些5.线上质量bug频频爆发怎么办6.如何分析一个bug是前端还是后端的问题抓接口请求信息,检查接口(用到了哪些
2021-01-11 23:28:51 461
原创 计算机网络
中继器又称转发器,主要功能是将信号整型再生,进而增加网络传输距离。由于中继器没有存储转发功能,所以它不能连接两个速率不同的网段,也不能连接不同协议的网段。异步传输模式(Asynchronous Transfer Mode,ATM),是一种面向连接的快速分组交换技术,建立在异步时分复用基础上,并使用固定长度的信元,支持包括数据、语音、图象在内的各种业务的传送数字调制技术包括: 1、幅度键控ASK 2、频移键控FSK 3、相移键控PSK 其分别对应调幅、调频、相移调制解调器的几种调制方法:调幅、调谱、调相
2020-12-31 23:21:44 127
原创 测试流程体系
常见概念软件测试软件测试作用软件缺陷软件测试原则- 缺陷集群性(2/8原则):我们遇到的缺陷集中在20%功能模块里,功能复杂?需求模糊?功能设计问题?杀虫剂悖论:一个测试用例不能用来执行太多次,因为软件也会对其产生免疫软件测试对象测试用例软件测试模型V模型对瀑布模型的一种改进单元测试:按设定好的最小单元进行测试,测一个类/函数 => 保证最小模块功能正确集成测试:检测小模块组合到一起后,功能是否正确,测接口系统测试:把整个软件系统看作一个整体,分前期(
2020-12-31 23:20:58 191
原创 数据结构和算法学习指南
使用框架思维学习数据结构和算法,建立框架性认识。从整体到细节,自顶向下,从抽象到具体的框架思维是通用的。不只是学习数据结构和算法,学习其他任何知识都是高效的。数据结构的存储方式两种结构基础:数组(顺序存储)和链表(链式存储)那些多样的数据结构,都是在链表或数组上的特殊操作,API不同而已。队列、栈:既可使用链表也可使用数组实现。用数组实现,就要处理扩容缩容的问题;用链表实现,就需要更多内存空间存储节点指针。图:两种表示法,邻接表就是链表,邻接矩阵就是二维数组。邻接矩阵判断连通性迅速,并可
2020-12-30 18:04:45 96
原创 Python开发面试准备
1.is和==的区别: is比较的是id,对象的内存地址 = =比较的是值按字典中的value值进行排序sorted(dict.items(), key = lambda x: x[1])3.字典和json的区别字典是python的数据结构,字典中的key值能hashjson是一种数据的表现形式,是字符串4.可变、不可变类型:指的是内存中的值是否可以被改变不可变:数值、字符串、元组可变:列表、字典、集合5.常用的字符串格式化占位符 s1 = "%s DSB 你好"%na
2020-12-16 20:17:10 314
原创 软件开发
软件开发的流程包括需求捕捉、需求分析、设计、实现、测试和上线。按照这六大步骤进行软件开发,软件的成功率就会上述。需求捕捉就是一个交流的过程,需求分析师会跟客户做深度的交流,挖掘用户的需求,有了需求之后,进行需求分析,理清楚业务流程,然后确定出第一个版本应该要实现的功能。需求分析完成后,进行设计,包括架构的设计、原型的设计、UI的设计、数据库的设计等。设计完成之后,交给软件开发部门进行程序的编码,编码完成之后需要将代码交付给测试,让测试对我们的程序进行测试,检查出程序的漏洞和bug,由程序员对其进行修
2020-12-10 20:19:53 217 2
原创 Java零基础到SpringBoot
1.Java基础:面向对象编程:好处:提升了开发效率,降低了编程人员的负担;开发大型项目如果不引入 OOP的架构模式很多功能点不好实现(基础支持)四大要素:类,对象,属性,方法类-定义:一系列具有相同特征和行为的对象的集合一个文件,其中可以写属性,可以写方法作用:用来创建对象对象-类文件自身需要通过创建对象才好发挥作用,编写java项目的过程就是一个不停操作对象的过程一个类创建的多个对象,彼此相互独立,互不影响属性-本质就是变量,理论层面上表示类所具有的特征方法-描述类所具有
2020-12-03 15:55:32 831
原创 排序算法总结
算法概述1、算法分类:十大常见排序算法可以分两大类:比较类排序:通过比较来决定元素间的相对次序,由于时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。名词解释:n:数据规模k:"桶"的个数In-place:占用常数内存,不占用额外内存Out-place:占用额外内存稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同..
2020-12-02 19:27:23 168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人