自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

  • 博客(863)
  • 收藏
  • 关注

原创 超硬核十万字!全网最全 数据结构 代码,随便秒杀老师/面试官,我说的

本文代码实现基本按照《数据结构》课本目录顺序,外加大量的复杂算法实现,一篇文章足够。能换你一个收藏了吧?

2021-04-20 10:56:04 107814 505

原创 超硬核!数据库学霸笔记,考试/面试随便秒杀

废话不多说,上干货是兔老大的传统了,收藏就完事了。数据库系统概论四个基本概念数据:数据库中存储的基本对象,描述一个事物的符号记录,数据和其语义不可分开说数据库(DB):是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库管理系统:一个管理数据的软件主要功能:数据定义功能:(1)提供数据定义语言(DDL):创建表(CREATE),修改表(ALTER),删除表(DROP);(2)定义数据库中的数据对象操纵功能:提供数据操纵语言(DML,即增删改查的操.

2021-04-12 09:57:52 77367 83

原创 超硬核!小白读了这篇文章,就能在算法圈混了

作为一只超级硬核的兔子,从来不给你说废话,只有最有用的干货!这些神级算法送给你目录第一节1.1bogo排序1.2位运算1.3打擂台1.4morris遍历第二节2.1睡眠排序2.2会死的兔子2.3矩阵快速幂2.4摔手机/摔鸡蛋时空复杂度目录二分尝试较优的策略归纳表达式写出暴力递归改为动态规划压缩空间四边形不等式优化换一种思路最优解测试:第三节3.1斐波那契之美3.2桶排序3.3快速排序...

2021-03-29 10:27:15 31361 85

原创 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

上次发操作系统笔记,很快浏览上万,这次数据结构比上次硬核的多哦,同样的会发超硬核代码,关注吧。

2021-03-26 11:48:34 49121 109

原创 超硬核!学霸把操作系统经典算法给敲完了!要知行合一

上期的笔记,浏览快1万了,既然关注的人很多,那就发出来承诺过的算法全模拟,希望帮到你们。

2021-03-24 12:48:58 19065 64

原创 超硬核!操作系统学霸笔记,考试复习面试全靠它

之后会发布基于基础知识的大部分算法的模拟代码合集,敬请关注。

2021-03-22 18:44:01 32411 76

原创 《这是全网最硬核redis总结,谁赞成,谁反对?》六万字大合集

后端需要知道的关于redis的事,基本都在这里了。此文后续会改为粉丝可见,所以喜欢的请提前关注。你的点赞和评论是我创作的最大动力,谢谢。《三天给你聊清楚redis》第1天先唠唠redis是个啥(18629字)一、入门Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构:字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。• Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人,.

2021-03-15 14:00:02 56432 628

原创 【大总结2】大学两年,写了这篇几十万字的干货总结

本文十天后设置为粉丝可见,喜欢的提前关注不要白嫖请点赞不要白嫖请点赞不要白嫖请点赞文中提到的书我都有电子版,可以评论邮箱发给你。文中提到的书我都有电子版,可以评论邮箱发给你。文中提到的书我都有电子版,可以评论邮箱发给你。本篇文章应该算是Java后端开发技术栈的,但是大部分是基础知识,所以我觉得对任何方向都是有用的。1、数据结构数据结构是计算机存储、...

2019-12-08 15:17:20 245935 3069

原创 cyc大佬有地方写的不全,补充(计算机网络篇)

拥塞避免:设置一个阈值,当报文数超过这个阈值的时候每次,报文每次加一,如果出现超时领阈值等于当前报文的一半,重新执行慢开始。http1.1 : 增加了长连接,一个tcp连接可以发送多个http请求,新增了put,patch,delete请求。1.DNS解析,获取ip地址(本机,本地域名服务器,根域名服务器,顶级域名服务器,权限域名服务器)快恢复:这种情况令阈值等于当前报文的一半,并令当前发送的报文数等于阈值,因为没有出现网络阻塞。超时重传:如果已经发送的报文在超过时间内没有被确认,那么就重新发送这个报文。

2024-05-15 00:07:29 66

原创 cyc大佬有地方写的不全,补充(数据库篇)

1.B树,B+树,以及两者的区别B树是一种多路平衡查找树,其每一个节点都存储Key和dataB+树是B树的一个变种,叶子节点存储data,非叶子节点只存储key,B+树的叶子节点增加了顺序访问指针,每一个叶子节点都可以访问到他的下一个叶子节点区别:1.B+树种只有叶子节点会带有全部信息,非叶子节点只起到索引的作用,二B树的所有节点都带有全部信息,B+树的每一层节点都会再次出现在下一层节点上2.B+树种所有叶子节点都是通过指针连在一起,B树则没有2.索引的优点和缺点。

2024-05-15 00:06:35 324

原创 交易系统必备-fix字段详解

Tag 31,表示最后(最新)成交的价格。

2024-05-14 01:39:48 250

原创 Vscode配置实现远程调试项目

报错的原因是dlv命令是在cmd目录下执行的,那么调试服务的工作目录是cmd目录下,而conf目录与cmd目录是同等级目录,所以应该将main.go文件的init函数中配置文件路径从"conf/conf.toml"改成"../conf/conf.toml",即可解决问题。Ctrl + Shift + p(Mac是Command + Shift + p)按键打开配置弹窗,输入Go: Install/Update Tools,勾选所有开发调试工具(特别是dlv工具,是Go语言调试必备)如图所示,开始调试!

2024-05-14 01:29:30 786 1

原创 初中级开发的叨叨(研发质量和效率篇)

可以同时保留服务的新老接口,或新老服务,新服务or接口上线后,线上使用老服务or老接口,通过动态配置控制在一定的概率下,在老接口返回后(避免影响老接口的耗时),自动使用相关相关参数调用新接口,对比新老接口返回的数据,不匹配则输出日志or打点,一段时候确认新接口完全正常后,可以逐步矿大新接口的适用范围。最近回忆了一下过去,经历了很多开会,出方案,开发,测试,联调,写checklist,提单,灰度,验证,再灰度,再验证的过程,发现了一些好的地方和不好的地方,就我之前的经历分享一下,怎么样提升研发质量和效率。

2024-05-13 21:51:24 1030

原创 初中级开发的叨叨(熟悉系统与交接标准篇)

需要熟悉系统的对外表现的功能点(和外部对接的时候,你要能基本理解自己系统的对外表现,别人的提问你基本能回答,对项目的重点和难点有一个基本的认知,否则给人感觉是一个完全的外行,很难合作。需熟悉上下游调用关系、内外部依赖(比如我们的系统向支付服务请求交易时,我们需要知道它是如何处理请求的,以及如果支付服务不可用我们的系统该如何响应?我们的支付功能还依赖哪些部门的哪些服务?对应系统大概的错误码有哪些?这样我们遇到一个错误码,可以推断大概率是哪里出了问题)需要熟悉现网部署。

2024-05-13 21:43:15 1126

原创 cyc大佬有地方写的不全,补充(JAVA基础篇)

轻量级锁的执行过程是代码进入同步块的时候,如果当前对象没有被锁定(锁标志为是01)则先在线程的栈帧中建立一个锁记录空间(lock record)将对象的mark word拷贝过来,然后利用cas操作尝试将对象的markword更新为指向lock record,如果成功则当前线程拥有该对象锁,并且将锁标志位从01改为00,如果更新失败则会检查当前对象markword是否指向当前线程的栈帧,如果是则直接进入同步块执行否则说明当前的对象锁已经被其他线程占有。抽象类中的成员变量可以被不同的修饰符来修饰。

2024-05-12 23:01:58 1725

原创 cyc大佬有地方写的不全,补充(并发编程篇)

通过这两段描述,我们应该能很清楚的看出Synchronized的实现原理,Synchronized的语义底层是通过一个monitor的对象来完成,其实wait/notify等方法也依赖于monitor对象,这就是为什么只有在同步的块或者方法中才能调用wait/notify等方法,否则会抛出java.lang.IllegalMonitorStateException的异常的原因。1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;

2024-05-12 22:58:29 740

原创 【精品计划2】你确定真的懂二分查找吗?带你真正入门二分

3.1 经典二分问题经典二分问题:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9。输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-...

2023-11-13 11:11:16 22680 211

原创 字节后台三面高难度面经

原定约了一个大概一周左右之后的日期,但是自我感觉准备的非常不充分,简历上写的中间件,缓存,数据库等模块,但对于它们底层的原理都了解的非常不深入。三面的面试官问项目比较仔细,建议大家一定要对于项目中的各个模块以及组件选择原因有深刻的思考,不然很容易翻车的。比如我用到了Redis集群,面试官一直在质疑我的数据量不大为什么需要做集群,以及不停的追问Redis集群的配置的细节。2、Change Buffer是什么?

2022-10-08 11:41:24 9177 20

原创 百战c++(12)

输入:排序前的大文件,名称为char * pinoutfilename ,其内容为用分号分隔的ArrayType类型的数组元素,可装满4个100M字节的数组。链表的长度是不定的,而且环出现的地方也是不定的,环有可能在头,有可能在中间。预定义的数组类型(细节无关紧要),Pinputarray,Poutarray分别为排序前的指针和排序后的指针。TRUE:FALSE;44.int (* (*f)(int, int))(int)表示什么含义?45.x=x+1,x+=1,x++,为这三个语句的效率排序。

2022-10-08 11:18:40 2545 1

原创 百战c++(11)

33. 写出程序运行结果。则func(1)=?

2022-10-08 11:17:52 1846 1

原创 百战c++(10)

如果ClassA中定义并实现虚函数int func(void),ClassB中也实现该函数,那么上述变量a->func()将调用哪个类里面的函数?30.编写一个函数将一条字符串分成两部分,将前半部分按ASCII码升序排序,后半部分不变,(如果字符串是奇数则中间的字符不变,)最后再将前后两部分交换,然后将该字符串输出,29.编写一个函数,函数接收一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回.//这里也帮忙看一下。//这里还有也看一下。

2022-10-08 11:17:12 1152

原创 百战c++(9)

但如果显然应试者做得不错,那么我就扔出下面的追加问题,这些问题是比较难的,我想仅仅非常优秀的应试者能做得不错。这个问题将做为这个测验的一个愉快的结尾。我发现这个问题的最大好处是:这是一个关于代码编写风格,代码的可读性,代码的可修改性的好的话题。在我的经验里,好的嵌入式程序员非常准确地明白硬件的细节和它的局限,然而PC机程序往往把硬件作为一个无法避免的烦恼。上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。这是一个非常微妙的问题,任何人答对这个问题(正当的原因)是应当被恭喜的。

2022-10-08 11:16:13 1023 1

原创 百战c++(8)

下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。3). 在许多的处理器/编译器中,浮点一般都是不可重入的。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。不用说,如果你能得到后两点,那么你的被雇用前景越来越光明了。1、一个学生的信息是:姓名,学号,性别,年龄等信息,用一个链表,把这些学生信息连在一起, 给出一个age, 在些链表中删除学生年龄等于age的学生信息。43. 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数。

2022-10-08 11:15:14 1000

原创 百战c++(7)

(3)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。(2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。destructed B(10)形参析构。(1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel){ destructed B(5)形参析构。{ destructed B(5)形参析构。40. 链表题:一个链表的结点结构。

2022-10-08 11:14:05 883 2

原创 百战c++(6)

感觉上结构仅仅象一堆缺乏封装和功能的开放的内存位,而类就象活的并且可靠的社会成员,它有智能服务,有牢固的封装屏障和一个良好定义的接口。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。答案:struct 的成员默认是公有的,而类的成员默认是私有的。答案:通用寄存器给出的地址,是段内偏移地址,相应段寄存器地址*10H+通用寄存器内地址,就得到了真正要访问的地址。

2022-10-08 11:13:23 912

原创 百战c++(5)

这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错;重写:和多态真正相关。当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。(2)在C中引用C++语言中的函数和变量时,C++的头文件需添加extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文件,应该仅将C文件中将C++中定义的extern "C"函数声明为extern类型。

2022-10-08 11:12:26 857

原创 百战c++(4)

主要原因是这四个操作符没有side effect,因此,它们必须构造一个对象作为返回值,可选的方案包括:返回一个对象、返回一个局部变量的引用,返回一个new分配的对象的引用、返回一个静态对象引用。例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量,那么这个引用所指向的空间(由new分配)就无法释放,造成memory leak。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。

2022-10-08 11:11:15 894

原创 百战c++(数据库2)

写满了:redo log 里的容量是有限的,如果数据库一直很忙,更新又很频繁,这个时候 redo log 很快就会被写满了,这个时候就没办法等到空闲的时候再把数据同步到磁盘的,只能暂停其他操作,全身心来把数据同步到磁盘中去的,而这个时候,就会导致我们平时正常的SQL语句突然执行的很慢,所以说,数据库在在同步数据到磁盘的时候,就有可能导致我们的SQL语句执行的很慢了。中去,而是把这些更新的记录写入到 redo log 日记中去,等到空闲的时候,在通过 redo log 里的日记把最新的数据同步到。

2022-10-08 11:09:36 3348 9

原创 百战c++(数据库1)

悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做(选择性越高,查询效率也越高。中,在聚簇索引之上创建的索引称之为辅助索引,辅助索引访问数据总是需要二次查找,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引(

2022-10-08 11:06:37 3128 3

原创 百战c++(os2)

正常情况下,子进程是通过父进程创建的,子进程再创建新的进程。通过kill发送SIGTERM或者SIGKILL信号消灭产生僵尸进程的进程,它产生的僵死进程就变成了孤儿进程,这些孤儿进程会被init进程接管,init进程会wait()这些孤儿进程,释放它们占用的系统进程表中的资源。如果进程不调用wait / waitpid的话, 那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程。每次淘汰队尾数据块。

2022-10-08 11:01:26 945 1

原创 百战c++(os1)

Linux中的锁互斥锁:mutex,用于保证在任何时刻,都只能有一个线程访问该对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒读写锁:rwlock,分为读锁和写锁。处于读操作时,可以允许多个线程同时获得读操作。但是同一时刻只能有一个线程可以获得写锁。其它获取写锁失败的线程都会进入睡眠状态,直到写锁释放时被唤醒。注意:写锁会阻塞其它读写锁。当有一个线程获得写锁在写时,读锁也不能被其它线程获取;写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)。

2022-10-08 10:59:30 1096

原创 百战c++(3)

堆:由程序员手动分配和释放,完全不同于数据结构中的堆,分配方式类似链表。由malloc(c语言)或new(c++)来分配,free(c语言)和delete(c++)释放。若程序员不释放,程序结束后由系统释放。堆由低向高生长。空间大 灵活性大 速度慢。栈:由编译器自动分配和释放的,存放函数的参数值,局部变量的值。操作方式类似数据结构中的栈。由高向低生长。空间小,灵活性差全局(静态)存储区:存放全局变量和静态变量。

2022-10-08 10:53:55 1971

原创 百战c++(网络)

还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。

2022-10-08 10:52:26 3333

原创 百战c++(2)

指针和数组的区别野指针是什么野指针就是指向一个已删除的对象或者未申请访问受限内存区域的指针请你回答一下为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数。

2022-10-08 10:50:07 930 1

原创 百战c++(1)

Public和private的区别public和private是类里的关键字,用于规定类内数据或者成员函数的访问权限。private类型的数据或者函数,只能在相应的类内被访问,而public类型的数据或者函数被访问的权限比较宽,还可以在其它类或者其它函数中被访问。可以通过友元函数的方式在其他类中访问私有成员函数。构造函数可以私有吗?可以。私有构造函数意味着只能在自身内部创建实例,加上static可以保证改类只有一个实例。这种方式常用语单例模式。什么是多态,什么是动态绑定。

2022-10-08 10:46:59 1315 4

原创 百度测试部面试题

Table1中有id和name两个字段,Table2中有id,score和class,查询名字为李三的同学的分数和班级。分使用优惠券和不使用优惠券两种情况,使用时又要考虑它的各种规则(比如可选择性、时间限制等)功能、性能、非功能性、兼容性等。

2022-10-04 18:04:10 1671

原创 百度测试实习小一面

我觉得我的介绍可能有点短,只介绍了一下学校和专业。建议准备的多一点,但是不要太长。这个可以挑自己能说的多的项目去说,我是前几个问题回答的很费力,到了项目这还比较顺畅。

2022-10-04 18:03:23 1314 3

原创 百度EBG测试部AI测试工程师面经

百度EBG测试部AI测试工程师1、自我介绍自我介绍尽量多说一点,她会问你“还有吗?”2、项目介绍简历上的项目都让介绍了。会问这个项目是做什么的,是由谁开发,项目如何得到的,在测试过程中实现了什么。3、自己在项目中负责什么4、python出题5、SQL出题6、Linux命令7、冒泡排序8、字符串倒序排列解决方法9、描述TCP建立连接的三次握手面试问到的大多都是简历上写到的。面试的人是在前一天晚上打的电话,然后第二天面试。说的是11点左右会打电话过来,然后我等到11:30,这个过程除了紧张还有心慌。这是第一次投

2022-10-04 18:02:42 939

原创 大三开学,百度面试感受

比如这个项目是干什么的,你在项目实施过程中遇到的问题,怎么解决的。在这个项目中你负责什么。专业知识部分,对于我来说数据结构和算法是我的薄弱部分,同样存在认知误区,觉得测试方向用到的数据结构和算法不多,不看重,在最后的提问环节,我有问到面试官,我说测试方向的话,需要很多的数据结构以及算法吗,面试官的回答是,不需要用到,但是我们需要你有那种算法思维。Linux命令掌握的太少了,而且很片面,可能随机出题,就会碰到自己不会的,shell脚本的话,我是需要从0开始学,一直觉得用不到,但是发现面试的过程中都会涉及。

2022-10-04 18:02:02 6337 9

原创 阿里后台开发不知名部门总结

阿里一面简述数据结构差异线程与锁控制jsonsession和requestCookie和Session的区别stringBuffer、stringBuffer的实现读写文件的方法和优化hibernate4中状态equals和hashCode红黑树的优缺点以及特性阿里二面简述项目前后端交互方法jstl和自定义标签简述springboot的功能作用和实现技术态代理的原理怎样自己实现IOC和java反射技术spring bean初始化过程spring特性Mysql索引实现的数

2022-10-04 17:54:34 3299 8

空空如也

空空如也

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

TA关注的人

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