美文网首页
阿里巴巴笔试(错题反思)

阿里巴巴笔试(错题反思)

作者: 飞猪的浪漫 | 来源:发表于2021-08-31 07:54 被阅读0次

(英语:heap)通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:

堆中某个节点的值总是不大于或不小于其父节点的值;

堆总是一棵完全树。

将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。

堆的定义如下:n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下关系时,称之为堆。

(ki<= k2i,ki<= k2i+1)或者(ki>= k2i,ki>= k2i+1), (i = 1,2,3,4...n/2)

堆是一种完全二叉树

大顶堆:每个节点的值都大于等于其孩子结点的值

小顶堆:每个节点的值都小于等于其孩子结点的值

方法:把关键字按顺序写成完全二叉树即可,在判断是否是堆。

首先矩阵相乘一般是不能交换顺序的,所以选项CDE就是错误的。

首先使较小的矩阵相乘,最后乘较大的矩阵可以减少运算量。所以B选项的效率最高

A:(AB)C

B: A(BC)

C[1..m]表示的环形队列,m 为数组的长度。假设 f 为队头元素在数组中的位置,r 为队尾元素的后一位置(按顺时针方向)。

环形(顺序)队列的元素个数的公式应为(r+m-f)%m+1,最后还要加上1

二分查找树里查询一个关键字的最坏时间复杂度是______

最坏的情况就是节点的插入序列有序,此时树退化为单枝树,查找退化为顺序查找,最坏情况变为O(n)。

哈夫曼树

两个并发的进程,其中一个进程对另一个进程的影响常常是不可预期 的,甚至是无法再现的。这是因为两个并发进程执行的相对速度无法相互控制,交往的并发进程的速率不仅处理器调度的影响,而且还受到与这两个交往的并发进程 无关的其它进程的影响,所以一个进程的速率通常无法为另一个进程所知。因此交往的并发进程的执行就可能产生各种与时间有关的错误。

       那么一个进程被中断后,哪个进程可以运行呢?被中断的进程什么时候能再去占用处理器呢?这是与进程调度策略有关的.所以,进程执行的相对速度不能由进程自己来控制,还与进程调度策咯有关

未定义行为(Undefined Behavior)是指C语言标准未做规定的行为。同时,标准也从没要求编译器判断未定义行为,所以这些行为有编译器自行处理,在不同的编译器可能会产生不同的结果,又或者如果程序调用未定义的行为,可能会成功编译,甚至一开始运行时没有错误,只会在另一个系统上,甚至是在另一个日期运行失败。当一个未定义行为的实例发生时,正如语言标准所说,“什么事情都可能发生”,也许什么都没有发生。一句话,未定义行为就是运行结果不确定

1.变量即是左边结果,又是右边的操作数,如a+=a++,a %= b ^= a ^= b ^= a

2.使用越界数组也是C的一个“未定义行为”

3.允许一个随便指的指针的读写。

4.使用未初始化的变量

分布式缓存是能保证服务快速响应,是高效性的需求,不是可扩展性的需求

栈:在Windows下,栈是向低地址扩展的数据结构是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将 提示overflow。因此,能从栈获得的空间较小。    

 堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储  的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小  受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。 

在C/C++中,内存一般分为,堆区,栈区,全局区,文字长量区,程序代码区!在函数中定义的局部变量是存在栈区除static局部变量,他是存在在全局区),动态生成的变量存在在堆区,由指针进行读写!全局变量,静态全局变量,静态局部变量是存放在全局区的堆是程序员进行申请和释放的,因此堆是向上,也就是向高地址方向的!

栈是系统进行释放的,且栈区大小一般是定的2M,因此栈是向下,也就是向底地址方向! 另外说下,静态局部变量,静态全局变量和全局变量的区别,静态变量没有初始化时,系统会给默认值,而全局变量不会!全局变量在整个工程中都是可见的,而静态全局变量只在本文件中可见,静态局部变量只在此函数内部可见,但函数结束后不释放!

所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。

通俗解释就是长连接:一次连接发多个包。短连接:一次连接发少量包

所以长连接相对短连接可以节省建立连接的时间

TCP建立连接3次握手,断开链接需要4次

对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。

在调用sleep()方法的过程中,线程不会释放对象锁。

而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备。

相关文章

  • 阿里巴巴笔试(错题反思)

    堆(英语:heap)通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于...

  • 技术之瞳:阿里巴巴技术笔试心得PDF

    《技术之瞳——阿里巴巴技术笔试心得》由阿里巴巴集团校园招聘笔试项目组所著,收集了阿里历年校招中的精华笔试题,涉 及...

  • 阿里巴巴往届笔试面试题汇总

    整理了一下阿里巴巴往届笔试面试题,希望对大家有帮助: 来源:阿里巴巴笔试面试圈>> 1、史上最全Java面试266...

  • JAVA笔试错题1

    1)输出false是(C) Integer i01=59; int i02=59; Integer i03=Int...

  • JAVA笔试错题2

    假如某个JAVA进程的JVM参数配置如下:-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSi...

  • 数学错题反思

    基础知识点没掌握。思维没打开,没有分析到绝对值在本题里面只能等于0。 “我以为”。是很多时候会做的题把它做错的一个...

  • 刷错题,刷错题,反思三。

    继续刷错题, 如何平衡是任何一个家长绕不去的坎, 不断的刷题,如何刷错题,这是一个需要平衡的东西。 对傻子来讲,我...

  • 各位家长对照以下来检查孩子的错题本

    错题管理——常反思 有了错题本和难题本就叫会考试,目的是为以后复习使用。错题和难题反映着许多知识点的联结,掌握了错...

  • 阿里巴巴笔试题

    1.某体校选择校服,每套校服都包括短袖运动衫、长袖运动衫、厚外套、运动长裤和运动短裤。每种运动服有3个备选方案。老...

  • 刷错题,刷错题,小反思一。

    继续刷错题, 最近刷错题,发现不少问题, 一些基本习惯问题, 第一, 草稿纸,之前,随便拿一本本子,随便就在上面写...

网友评论

      本文标题:阿里巴巴笔试(错题反思)

      本文链接:https://www.haomeiwen.com/subject/nrlmdltx.html