摘要: 1.首先是二叉树的 结构体 struct TreeNode{ TreeNode *right; TreeNode *left; int val; TreeNode(int x): val(x),right(NULL),left(NULL);{} } 接着是二叉树前序中序后序遍历; 1.前序遍历 方法 阅读全文
posted @ 2020-10-10 15:46 sjtu小帅哥 阅读(101) 评论(0) 推荐(0)
摘要: 1.tcp头部 2.三次握手,四次挥手 注意整个过程中的客户端和服务端的状态转换已经传输的一些序列号和标志。 1.为啥三次:1.延迟的ack会导致重新建立连接,2,无法得知服务端的序列号是否被确认。 2.为啥四次:1.前两次确定客户端要fin,但是服务端还有数据没有传完,所以等数据传完需要再两次确定 阅读全文
posted @ 2020-10-10 14:30 sjtu小帅哥 阅读(112) 评论(0) 推荐(0)
摘要: 在总结数据库锁之前先阐述一下 数据库的集中隔离级别以及它们分别能避免哪些问题: 1.未提交读,最低级的隔离级别,不能避免丢失更新以及脏读。 2.提交读,可以避免丢失更新以及脏读。 3.可重复读,可以避免不可重复读。 4.可串行化,可以避免幻影读。 mysql默认级别是3, mysql的两大主要引擎, 阅读全文
posted @ 2020-10-09 22:32 sjtu小帅哥 阅读(130) 评论(0) 推荐(0)
摘要: 1.dfs 连通的水域大小 给一个矩阵从数字为0表示水域,不为0表示陆地,可以上下左右,对角线方向连通水域,返回一个数组,从小到大排列水域的大小。 class Solution { public: vector<int> pondSizes(vector<vector<int>> &land) { 阅读全文
posted @ 2020-10-02 22:57 sjtu小帅哥 阅读(239) 评论(0) 推荐(0)
摘要: 1.关于虚继承 首先我们了解什么是多继承,所谓多继承就是一个派生类继承自多个基类,因此多继承可能产生的问题就是菱形继承,比如B和C继承于A,D继承于B和D,因此出现了菱形继承,因此我们再使用D的变量的时候就不确定 这个数据成员到底是通过 A->B->D还是A->C->D这条路径继承而来,就容易发生歧 阅读全文
posted @ 2020-09-28 14:57 sjtu小帅哥 阅读(206) 评论(0) 推荐(0)
摘要: 1.C++以C为基础,区块,语句,预处理器,内置数据类型,数组都来自C, C的局限性: 没有 template,exception, overloading.class, 2.尽量用const,enum,inline 替换#define 即宁可以编译器替换预处理器,首先是#define没有封装性,不 阅读全文
posted @ 2020-09-11 16:48 sjtu小帅哥 阅读(179) 评论(0) 推荐(0)
摘要: 场景: 从招行转1w到工行;可以分解为下面四个步骤 1. A节点为ATM, B节点为招行数据库,C节点为工行数据库; A发出转账命令; 2.A通知B 个人账户-1W元; 3.A通知C 个人账户+1W元; 4.A通知用户操作成功或者失败。 通过XA事务,可以对不同的数据库进行操作, 比如David 从 阅读全文
posted @ 2020-09-11 15:00 sjtu小帅哥 阅读(94) 评论(0) 推荐(0)