- 博客(221)
- 收藏
- 关注
原创 (Java)算法基础5:二叉树套路(递归套路解决一切树型DP问题,树型DP就是面试过程中最难题目)
二叉树基础知识(包括递归实现先序,中序,后序遍历)下面这些数字就是这个二叉树的递归序理解递归序——一下就理解了递归二叉树三种遍历非递归遍历任何递归都可以改成非递归递归函数无非就是系统帮忙压栈,不让系统压,自己压就行了,用栈。先序遍历先把头结点放入栈里,然后就是固定流程固定流程:从栈中弹出一个节点car,处理car,然后把car左右孩子(先右后左)压到栈里去(如果有的话),周而复始stack用法void preorder(ListNode* head){ if(head .
2021-08-01 11:43:49 540
原创 暑期实习+秋招面经合集(更新ing)
开篇自我介绍:面试官你好,我叫林飞武,是一名通信工程大三学生,对计算机专业有着浓厚兴趣并且未来有志于在互联网的测试领域有深入发展。全套学习了计算机专业的专业课,对于Linux,数据库,postman接口测试这些都比较熟悉。平时的话就喜欢看看书,您看有需要补充的吗?介绍项目我做过的项目是目标标注系统,这个项目主要是内部使用,用来实现机构、域名、证书、IP Whois数据等原始的管理。还有基于原始数据的目标信息库的标注,合成,查询。这个项目中我的职责主要是测试工程师,负责编写测试用例,执行测试用
2021-04-24 12:34:35 601
原创 代码随想录算法训练营第八天|344.反转字符串 ,541. 反转字符串II ,151.翻转字符串里的单词,55.右旋转字符串
Python切片是十分有用的,参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017269965565856Python不需要使用Temp,直接交换就行,字符串不可改变,如果要改变字符串的值或者切片,先将字符串转换为字符列表,最后,重新返回字符串对于字符串s = ‘abc’,如果使用s[0:999] ===> ‘abc’。字符串末尾如果超过最大长度,则会返回至字符串最后一个值,这个特性可以避免一些边界条件的处理。
2024-01-14 10:02:05 500
原创 代码随想录算法训练营第七天|哈希表理论基础,454.四数相加II ,383. 赎金信 ,15. 三数之和 ,18. 四数之和
【代码】代码随想录算法训练营第七天|哈希表理论基础,454.四数相加II ,383. 赎金信 ,15. 三数之和 ,18. 四数之和。
2024-01-13 09:47:55 909
原创 代码随想录算法训练营第六天|哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和
【代码】代码随想录算法训练营第六天|哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和。
2024-01-12 18:42:29 1039
原创 代码随想录算法训练营第四天| 24.两两交换链表节点 ,19.删除链表倒数第N个节点 ,160.链表相交 142.环形链表II
【代码】代码随想录算法训练营第四天| 24.两两交换链表节点 ,19.删除链表倒数第N个节点 ,160.链表相交 142.环形链表II。
2024-01-11 20:13:32 501
原创 代码随想录算法训练营第三天| 203.移除链表元素 ,707.设计链表 ,206.反转链表
【代码】代码随想录算法训练营第三天| 203.移除链表元素 ,707.设计链表 ,206.反转链表。
2024-01-11 16:05:57 367
原创 代码随想录算法训练营——数组篇总结
理解数组的逻辑结构与物理结构,数组是存放在连续内存空间上的相同类型数据的集合。数组的删除只能用覆盖经典题目1:二分法,要深刻理解循环不变量法则,这也是写代码的重要法则经典题目2:双指针法,暴力破解两层循环都可以想办法用双指针处理,可以是快慢指针或者相向指针经典题目3:滑动窗口,双指针变种,主要在于前后指针都在移动,像一个滑动窗口,滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)的暴力解法降为O(n)。经典题目4:同样是深刻理解循环不变量法则,理解偏移
2024-01-10 19:52:38 467 1
原创 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
刷题建议与debug今日学习文章链接和视频链接Python菜鸟教程
2023-12-29 09:39:14 456
原创 云原生-kubesphere容器平台
多集群:有生产环境的k8s集群和测试环境的k8s集群。这多个集群都是需要管理的,可以安装kubesphere,一站式管理多集群。多租户:可以用户自定义注册进来,可以给用户分配一些集群操作权限,来操作集群。
2023-05-08 17:03:44 140
原创 云原生-k8s核心概念(pod,deploy,service,ingress,configmap,volume)
kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。deployment:pod控制器,控制一组标签相同的pod,使Pod拥有多副本,自愈,扩缩容,滚动更新,版本回退等能力。Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。
2023-04-26 11:50:52 2484
原创 云原生-如何部署k8s集群与部署sms集群
3. 登录准备成为master节点的机器,然后初始化这台机器成为master节点(kubeadmin/minikube等),然后再根据初始化成功的提示(token)将其他机器作为worker或者master节点加入集群。4. 到这一步,集群已经搭建好了,接下来就是在集群的master节点上操作部署各种资源,然后自动调度到集群的各个节点。所以短信集群也是基于k8s部署,用的是测试机器,下图就是sms集群提供服务的机器(只是需要跳板机登录)2. 将所有的测试机器部署docker,容器化环境。
2023-04-26 11:26:54 606
原创 接口测试3-服务端接口自动化测试
上图就是Hi {{person}},{‘person’:‘seveniruby’},将配置中person的值改成seveniruby。上图,下面的json时http服务收到我的请求后转译出来了,把json数据打印出来一个更加结构化的形态。request没有提供xml的封装,所以用data进行发送,并且需要如上图一样额外配置一下header。如上图{{userid}}这种有两个花括号的,模板引擎会自动把它替换。首先,把我们的文件保存到一个json文件里(如下图,请求体很复杂)上图使用三方库,下图自己封装。
2023-04-02 17:43:31 462
原创 接口测试1:前置知识
霍格沃滋接口测试实战:https://ceshiren.com/t/topic/9653UI层发现bug时间很长,反馈很慢而且bugfix成本很高。service之间用接口连接,j接口测试更早发现问题,减少压力,测试实施成本也低。
2023-03-30 19:10:49 345
原创 web测试6:selenium实现web自动化
https://selenium-python.readthedocs.io/ (selenium官方使用文档)selenium支持web浏览器的自动化,主要由三个工具构成,WebDriver,IDE,Grid。
2023-03-28 17:01:06 96
原创 前端学习路线
以上技术,传统的是 MPA 多页面应用现在主流使用SPA(单页面应用),使用react或vue。mongoose(一个框架,把mongoDB和node.js连起来)KOA 、 Express(node.js服务器框架、把页面连起来)Bootstrap(响应式页面,应用不太广泛,简单了解这个就行)mongoDB(数据库,简单了解一下原理,前端必须要学的数据库)node.js(了解一下,非常重要,用js写服务器)jQuery(简单了解这个就行,应用不太广泛)webpack(打包工具,非常重要,简单)
2022-09-03 18:31:47 398
原创 Docker(基于go的开源项目)
思维导图:https://naotu.baidu.com/file/57121972b5465bc88e78bb596b3bf5f7docker对表vmware,镜像文件对表gmall商城。无数个docker上跑镜像文件都是一样的,就和无数虚拟机上安装centos7都是这个Linux版本这样的话,一个地方出错了,可以通过测试环境,迅速定位模拟出来。............
2022-07-11 20:02:34 398
原创 (Java)算法基础4:Hash/有序表/链表
注意:Hash表在使用的时候认为时间复杂度都是常熟级别,数据量再大也是常数时间返回值,只是比较大。HashMap,带key和value,以key来组织如上图,put方法既是新增,也是更新value,首先让加了一条记录叫1zuo,第二条更新,将1所对应的value改为chengString类型直接把内存地址一个拷贝放到hash(一律只占八位),内存地址作为key。如下图,可以remove一个key,会连同这个key对应的value一起删掉get用来查询某一个key存在跟不存在,也可以把key对.
2022-03-28 22:13:52 864
原创 (Java)算法基础3:堆排序/比较器/桶排序排序总结
堆结构(重点)——一种特殊完全二叉树O(logN)完全二叉树:或者是满的,在不满的最后一层也是从左往右依次变满的。堆逻辑上就是完全二叉树实现完全二叉树方法:把数组必须从零出发的连续一段可以对应成完全二叉树size:从零出发的连续一段。size=7表示要把数组从0到7七个数作为数组对应所以根据这样,就可以把从零出发连续的一段,脑补成一段完全二叉树。所以:怎么把数组连续出发的一段,实现成一个堆?如下图,当6插入,它要找5比较大小(即和其父节点比较大小),找到父节点的方法在上图(i-1)/2
2022-03-27 13:31:45 766 1
原创 (Java)算法基础2:递归/归并排序/荷兰国旗/快速排序
递归求中点位置,一般来说mid = (L+R)*0.5,这样写有一些问题如果数组长度比较大,L+R可能会溢出,这样算出来的mid是不对的。所以可以这么写mid = L + (R-L)*0.5//下面为右移一位(等同于除2),等同于上面mid = L + (R-L)》》1如下图就是递归的底层调用,相当于栈、树的后序遍历p(0,2)相当于在0到2范围内求最大值p(3,5)相当于在3到范围内求最大值p(0,5)要调用要先调用p(0,2),p(3,5)压入栈中,同理,p(0,2)要先调用
2022-03-27 10:33:06 1213
原创 (Java)算法基础1:时间复杂度/位运算/选择,冒泡,插入排序/对数器/二分
时间复杂度下图就是选择排序时间复杂度,N平方,O(N^2)时间复杂度就是常数操作数量的表达式:aN^2+bn+c,只要最高阶项.为什么会只算N平方,因为都是考虑数据量起来以后的情况。选择排序与冒泡排序选择排序比方一个数组【4,2,3,1】,将其按照从小到达排列其实就是先从第一个开始遍历,找到一个最小值放到首位,然后从第二个开始遍历,找到第二小的数放到第二位,以此类推package class01;import java.util.Arrays;public class Code0
2022-03-24 16:36:52 1324
原创 matlab入门
导航窗格可以直接做计算,运算,如果里面的东西太多,输入clc,直接清空所有新建脚本,编写代码as = 'a' % 字符串s,值为aabs(s) % a的ASCII码,65char(65) % char就是字符串,这一行执行结果就是把65当成ASCII码,输出字符串,Alength(str) % 长度num2str(65) %数字变为字符串65矩阵——精髓(注意矩阵中间是分号)B=A' % 这这意思就是转置,行变列,列变行C = A(:) % 将A矩阵变成一列,如下图D =.
2022-03-19 14:29:13 242
原创 左程云——链表
hash与有序表unordered_set用法unordered_map用法(和map用法一样,不过map有序,这个无序)——算法笔记6.4有序表就是 Set和 Map哈希表里面不管放多少条记录,时间复杂爱都是常数级别。链表反转链表注意:链表的调整可能会存在换头的操作,那就带返回值,不换头可以定义成void类型。这道题其实类似于下图,外排序,用两个指针指着两个链表,谁小谁向右移动,相等时将value放入新数组,然后一起移动。有一个越界了就停。笔试:直接放到栈里就行栈先进后
2021-07-31 16:00:15 363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人