阿里云·一面没回答清楚的问题盖戳留念(答案随时更新)

1、静态链接、动态链接各自是什么意思?动态链接(dll)过程是由什么完毕的?

两者均是为了支持模块式开发,同意不同开发人员直接相互调用各自的功能模块所设置的机制。

静态链接(Static Linking)是在程序代码编译后的链接过程中将程序所引用的静态链接库(static lib)中的内容所有导入到当前程序中的过程。其长处在于时间的开销主要集中于链接时期,因而引用库内函数的时候效率较高,并且程序执行时不须要依赖额外的内容。缺点一是静态库会被所有载入到内存中。因而有部分额外的消耗。二是当多个程序共享一个静态库的时候,其内容会分别载入到每个进程的内存其中,没用共享复用的可能。静态链接通过导入.lib结尾的静态链接库文件实现。

        动态链接(Dynamic Linking)是在程序执行时候当须要使用到某一函数功能时。动态地通过导入库文件(import library。也是.lib后缀,记载了真正动态函数库的位置信息)查找到程序所须要的系统函数,并将其所指向的dll内容的函数导入到内存中执行。整个过程由windows操作系统完毕。其主要分为加载时动态链接(这须要在链接时将函数所在的dll的导入库链接到可执行文件里)和执行时动态链接(执行时能够通过LoadLibrary等函数加载dll,加载后能够通过GetProcAddress获取dll函数的入口地址,然后就能够通过返回的函数指针调用dll中的函数了,如此能够避免导入库文件)

參考链接:http://www.360doc.com/content/14/0518/08/7378868_378679524.shtml

http://www.cnblogs.com/tracylee/archive/2012/10/15/2723816.html

http://blog.163.com/zhangjie_0303/blog/static/99082706201081105654484/

     http://www.cnblogs.com/kex1n/archive/2011/09/06/2168435.html

2、红黑树是什么?红黑树节点染色的作用?

红黑树是一种优化的平衡二叉树,其目标是建立局部的数据平衡,而非全局的数据平衡。它能够使得在不论什么情况下,每次数据查找的时间复杂度是O(logn)

假设一棵树满足下面几个性质。我们称之为一棵红黑树:

1、节点仅由红黑两种颜色组成。

                2、根节点为黑色、叶子节点为黑色

                3、不论什么节点假设其父节点为红色。其子节点必为黑色

                4、不论什么节点到其子孙节点的路径上,黑色节点数目是一致的。

        红黑节点染色的目的在于控制树的高度,使其达到局部的一个绝对平衡,因此将总体高度控制在O(logn)的位置。高度主要是受制于其第3、4点。

參考链接:http://blog.csdn.net/wdzxl198/article/details/6882416

  http://blog.chinaunix.net/uid-26575352-id-3061918.html

3、TCP协议三次握手建立连接、四次挥手中断连接的全过程

这个比較简单,參考这个链接:https://www.centos.bz/2012/08/tcp-establish-close/

3、网络怎样进行拥塞控制。请讲述一下拥塞控制算法运行的三个阶段

主要是通过控制发送窗体的大小来对网络进行流量控制和拥塞控制的。其拥塞控制算法有慢启动、拥塞避免和高速恢复(高速重传)三个阶段。初次接入网络时。配置发送方一个阈值threshhold并调整发送窗体为1,若接收方没有重传请求,则開始以2倍数级增大发送窗体,此过程称为慢启动。当到达阈值时进入拥塞避免阶段,窗体尺寸開始线性增长,当出现重传报文请求时,TCP机制反应剧烈,详细表现为阈值threshhold减半,同一时候窗体尺寸恢复到1,又一次回到慢启动状态。达到对拥塞进行控制的目的。假设是进入高速重传的阶段,则是在出现重传报文(出现拥塞)的时候,窗体大小不恢复到1而是将threshhold值减半而且将窗体大小置为threshhold的数值。然后进入拥塞避免阶段。

继高速重传算法后另一个高速恢复算法。其基本原则是“数据包守恒原则”, 即保证当前时刻网络中的数据包数量总是恒定的,当接受端收到3个反复ACK之后,TCP最后进入的不是拥塞避免阶段,而是将threshhold值减半,窗体值设置为threshhold+3(由于有三个已经被确认的包离开整个网络,因而基于守恒原则须要添加发送数量),然后重传缺失的报文。随后每收到一个窗体中的反复确认,窗体大小添加1,当接收到非反复的确认时。将窗体大小设置为当前threshhold。又一次进入拥塞避免阶段。

4、TCP怎样保证传输的可靠性?

简述一下就好,http://blog.sina.com.cn/s/blog_63ec18bc01016gcv.html

5、具体讲述一下訪问http站点的所有交互过程

网上大神们早已详述,整理清楚思路慢慢说。http://blog.csdn.net/saiwaifeike/article/details/8789624

6、Spring框架中,控制反转怎样完毕,其依赖注入方式有哪几种?

为此又一次温习了一下spring框架的底层实现机制。总结来说就是:spring容器基于Bean工厂模式,通过解析用户自己定义的xml文件获取依赖信息,当用户须要不论什么对象实例的时候。通过调用容器的应用程序上下文接口。从容器的hash中取出对应对象的实例并返回,从而实现对当前一系列对象及依赖的控制。此过程称为控制反转,将实例化的控制权由类调用者本身反转为通过容器进行控制,在实例返回之前,还须要进行一个依赖注入的操作,依据xml文件配置的依赖信息,spring框架运用Java的反射机制,调用实例化对象的setter方法进行引用bean或者数据的注入,同理也能够调用构造函数进行注入,因此其依赖注入方式主要有设值(setter)注入、构造函数注入和接口注入,当中前两者使用较多。接口注入侵入性太强,非常少使用。故略。

7、描写叙述一下Hibernate和struts框架

8、线程的锁机制(记不太清楚了)

9、怎样在同一port下实现不同网址的訪问?

10、数据库巴拉巴拉巴拉(不记得了)?

11、当类里面定义多个类的时候其初始化过程是什么样子的?

12、virtual函数的作用(本来想答个设计模式什么的,结果死活想不起来什么设计模式了。擦)

13、GitHub假设A分支须要完整copy B分支的整个项目到当前分支用来查看,使用什么语句?


posted on 2017-07-05 15:34  ljbguanli  阅读(206)  评论(0)    收藏  举报