记录

    xiaoxiao2023-03-24  2

    1.      一亿个数据进行排序,用什么排序方式

    答:分批处理,一亿是一万万,分批处理,首先取一万进行快速排序,然后取一万之前进行mergesort

    2.      N 的前M大

    答:当有N个数据,而N又是非常大(比如:千万或者亿),需要找出N条数据的排名最前的M条数据时,可以采用的一种策略。

     

    给定n个数,寻找第k小的数,同时给出时间复杂度

    比较常见的算法题,也要考虑到n的大小,说了排序,最大堆,以及partition算法

     

    先选前M个元素组成一个小根堆,然后遍历剩下的数据,如果第i个元素key大于小根堆的根结点,就删除这个根结点,并将元素key插入根结点,调整这个堆使其成为小根堆,然后继续遍历剩下的数据; 最后,小根堆中的元素就是最大的M个元素。

    3.      走迷宫

    http://blog.csdn.net/u011889952/article/details/44805377

    4.   do

    5.   { 

    6.             若当前位置可通,            则

    7.           {

    8.                    将当前位置插入栈顶;    // 纳入路径  

    9.                    若该位置是出口位置,则结束;                                        // 求得路径存放在栈中        

    10.                  否则切换当前位置的东邻方块为新的当前位置;       

    11.           }    

    12.          否则

    13.           {                        若栈不空且栈顶位置尚有其他方向未被探索,     

    14.                            则设定新的当前位置为: 沿顺时针方向旋转 找到的栈顶位置的下一相邻块;

    15.                            若栈不空但栈顶位置的四周均不可通,

    16.                             则

    17.                          {

    18.                                        删去栈顶位置;  // 从路径中删去该通道块

    19.                                       若栈不空,则重新测试新的栈顶位置,

    20.                                        直至找到一个可通的相邻块或出栈至栈空;

    21.                             }  

    22.         } }while (栈不空);

     

    4. 递归写一下如何判断回文序列?

    回文12321 就是回文

     4 bool isPalindrome(char str[], size_t n)  5 {  6     if (n<=1)  7     {  8         return true;  9     } 10     else if (str[0]==str[n-1]) 11     { 12         return isPalindrome(str+1,n-2); 13     } 14     else 15         return false; 16 }

    5.单例模式 懒汉、饿汉

    懒汉:

    Class Singleon

    {

    Private:

    Singleon() {};//私有构造函数

    Static singleon *m_instance;

    Public:

    Static Singleton*get_insatnce()

    {

    If(m_instance==NULL)

                                m_insatnce=newSingelon();

           Return m_instance;

    }

    }

    6.

    tomcat下 connector中包含哪些协议?

    http://sxf520.blog.51cto.com/8656221/1608006

     

    7.

    tcp三次握手 四次挥手?

    三次握手:

    C->S: syn=1,seq=x ; 进入SYN_SEND的状态,等待服务器确认

    S->C: syn=1,seq=y;  ack=x+1; 服务器进入SYN_RECV状态

    C->S: ack=y+1; seq=x+1客户端和服务器均进入到Established状态,完成三次握手

    四次挥手:

    C->S: FIN=1,seq=u 关闭C->S 的数据传送

    S->C: ACK=u+1, seq=w; 表示收到确认

    S->C:FIN=1,seq=v; 关闭S-> C 的数据传送

    C->S :ACK=v+1; 表示收到确认

    8.

    Tomcat 结构

    目录结构

    bin ---- 存放tomcat启动关闭程序 

    conf--- 存放tomcat 配置文件

    lib --- tomcat运行需要jar包

    logs ---- tomcat日志文件

    webapps----  网站发布目录 (所有网站可以发布到该目录)

    work ----- 存放工程运行时,产生数据文件 (JSP翻译Servlet、Session持久化数据 )

     

    9. 索引类别,各自优缺点?

     

    10. 计算机网络

    每一层的协议如下:

    物理层:RJ45CLOCKIEEE802.3    (中继器,集线器,网关)

    数据链路:PPPFRHDLCVLANMAC  (网桥,交换机)

    网络层:IPICMPARPRARPOSPFIPXRIPIGRP(路由器)

    传输层:TCPUDPSPX

    会话层:NFSSQLNETBIOSRPC

    表示层:JPEGMPEGASII

    应用层:FTPDNSTelnetSMTPHTTPWWWNFS

    每一层的作用如下:

    物理层:通过媒介传输比特,确定机械及电气规范(比特Bit

    数据链路层:将比特组装成帧和点到点的传递(帧Frame

    网络层:负责数据包从源到宿的传递和网际互连(包PackeT

    传输层:提供端到端的可靠报文传递和错误恢复(段Segment

    会话层:建立、管理和终止会话(会话协议数据单元SPDU

    表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU

    应用层:允许访问OSI环境的手段(应用协议数据单元APDU

    IP 地址分类:

     

    有时候我们会看到这样的IP

    10.10.152.235/24

    后面的/24表示子网掩码,24表示子网掩码上有24个1,等价于255.255.255.0 。

    IP地址和子网掩码按位 与,得到的是 主机号

     

    A类 0 开头 0~127 (1.0.0.0-126.255.255.255)其中0.0.0.0 表示本机或默认路由127.X.X.X表示locallock, localhost. (8位一字节的网络地址和3字节的主机地址)

    主要分配给具有大量主机而局域网络数量较少的大型网络

     

    B 类地址10 开头 (128.0.0.0-191.255.255.255)(2字节的网络地址,2字节额主机地址)

    一般用于国际大公司或者政府机构

     

    C类 110开头(192.0,0.0 -223.255.255.255)(3字节网络地址,1字节的主机地址)

    一般用于校园网、研究机构、小公司

     

    D类1110 开头224-239 特殊用途,广播地址

    E 240-247 暂时保留

    ARP地址解析协议(IP-Mac):其工作原理是:

    1.      首先每个主机都在自己的ARP缓冲区,建立ARP表,表示IP地址和MAC地址之间对应关系

    2.      当源主机发送数据先查找ARP 列表中是否有对应IP地址的目的MAC地址,若有直接发送数据,若没有则向本网段的所有主机发送ARP数据,该数据包包括源主机IP,源主机MAC,目的主机IP

    3.      当本网段的所有主机接收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是忽略,如果是,则首先从数据包中取出源主机的IP和MAC加到自己的ARP列表中,若已存在则覆盖,然后将自己MAC地址写入ARP响应包中,告诉主机自己是它想要的MAC地址。

    4.      源主机接收到ARP响应包之后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据,如果源主机没有收到ARP响应包,表示ARP查询失败。

    各种协议

    ICMP:Internet网控制报文协议,是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。Ping 命令就是使用ICMP,返回ICMP报文

    TFTP:简单文件传输协议,UDP,用来在客户机和服务器之间进行简单文件传输的协议,提供不复杂,开销不大的文件传输服务。

    HTTP:超文本传输协议,属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

    DHCP:动态主机配置协议,让系统得以连接到网络上,并获取所需要的配置参数手段,局域网的网络协议,使用UDP协议工作,用于给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机中央管理的手段。

    NAT:网络地址转换,属于接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术

    RARP:逆地址解析协议,作用是完成硬件地址到IP地址的映射,主要用于无盘工作站,因为给无盘工作站配置的IP地址不能保存。工作流程:在网络中配置一台RARP服务器,里面保存IP地址和MAC地址的映射关系,当无盘工作启动后,就封装一个RARP数据包,里面有Mac地址,然后广播到网络上去,当服务器接收到请求包之后,就查找对应的MAC地址的IP地址装入响应报文中发给请求者,因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。

     

     

    在浏览器输入某个域名后执行的全过程:(CDN和负载均衡

    1.      首先客户端浏览器通过DNS解析www.vip.com 的IP地址220.181.27.48, 通过这个IP地址找到客户端到服务器的路径。然后客户端浏览器发起一个HTTP会话到220.181.27.48,然后通过TCP封装数据包,进入网络层

    2.      在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80 端口监听客户端的请求,客户端由系统随机选择一个端口例如5000,与服务器交换,服务器把相应的请求返回给客户端的5000端口,然后使用IP层的IP地址查找目的端。

    3.      客户端的网络层不用关系应用层或传输层的东西,主要是通过查找路由表确定如何到达服务器,中间可能经过多个路由器,这些都是路由器来完成的工作,即通过查找路由表来决定通过哪个路径到达服务器。

    4.      客户端的链路层,包通过链路层发送到路由器,通过邻居查找协议查找给定IP的MAC地址,然后发送ARP请求查找目的地址,如果得到回应就使用ARP的请求应答交换IP数据包现在就可以传输了。然后发送IP数据包到达服务器的地址。

    面向连接和面向非连接服务的特点是什么?

    面向连接:通信双方在进行通信之前,先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接情况可以被实时监控和管理

    面向非连接:不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。

    TCP和UDP的区别

    TCP提供面向连接的,可靠的数据流传输,而UDP提供的是非面向连接的,不可靠的数据流传输;

    TCP的传输单位成为TCP报文段,UDP的传输单位成为用户数据报;

    TCP注重数据安全,有ACK,UDP数据传输快,因为不需要连接等待,少了许多操作,安全性一般。

    TCP 对应的协议:

    21- FTP

    22- ssh 类似于 telent的加密版

    23 –Telnet 远程登陆的端口,用户以自己的身份远程连接到计算机

    25 –SMTP 邮件发送

    110 - POP3 和SMTP相对,用于接收邮件

    80- HTTP:由web 服务器传输超文本到本地浏览器的传送协议

    UDP对应的协议:

    53- DNS:域名解析服务域名转换为IP地址

    161- SNMP:简单网络管理协议,管理网络设备的,由于网络设备很多,无连接的服务就体现其价值

    69:TFTP:简单文件传输协议

     

    DNS 域名系统的工作原理:

    DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:1 指定的DNS域名2 指定的查询类型 3 DNS域名的指定类别。基于UDP,端口53,该应用一般不直接为用户使用,而是为其他应用服务,例如HTTP,SMTP等在其中要完成主机名到IP地址的转换。

     

    其它:

    MySQL:3306

    SQL-Server:1433

    Shell或cmd: 514

     

    IP数据包格式:

    IP数据报=首部(固定部分20字节和可选部分1-40字节)+ 数据

    固定部分:版本号4bit

     

    交换机、路由器、网关各自用途

    交换机:数据链路层,交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。

    交换机被广泛应用于二层网络交换,俗称“二层交换机”。

    交换机的种类有:二层交换机、三层交换机、四层交换机、七层交换机分别工作在OSI七层模型中的第二层、第三层、第四层盒第七层,并因此而得名。

    路由器:路由(决定数据包从源端到目的端所经过的路径)+ 转送(将路由器输入端的数据包移送到适当的路由器输出端)工作在网路层

    网关:连接两个网络的设备,例如语音网关,连接PSTN和以太网,相当于VOIP,把电话中的模拟信号通过网关转换成数字信号。再用协议传输,接收端再进行还原转换。

    对于以太网中的网关只能转发三层以上数据包,这一点和路由是一样的。而不同的是网关中并没有路由表,他只能按照预先设定的不同网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不同的端口,这样看来就会保护子网内的用户。

     

     

    Linux下 给定一个文件,里面存放的是IP地址,统计各个IP地址出现的次数

     

     

    一面(项目)

    1.  项目的架构,怎么实现的

    2.  会不会java web的知识

    3.  对一个登录窗口进行测试

    4.  测试人员需要的能力

    5.  有没有比较熟的b/s架构

    二面(测试思维)(未通过)

    1.  写代码:找出一组数中最大的数

    2.  所接触到的测试的内容

    3.  对淘宝的搜索栏进行测试(1.宝贝,店铺,天猫选项;2.搜索栏;3.搜索按钮)

    4.  与他人相比,你的优势(此处最好答热情和测试行业大趋势和前景)

    http://www.nowcoder.com/discuss/12191?type=2&order=0&pos=12&page=1

     

    http://www.jobui.com/mianshiti/it/ruanjianceshi/7008/

     

    http://www.gkstk.com/article/wk-78500000560934.html

     

    http://blog.csdn.net/codeway3d/article/details/52280431

     

    http://www.cnblogs.com/duanwxue1128/p/5866974.html

     

    http://www.cnblogs.com/LUO77/p/5787186.html

     

    http://www.kanzhun.com/msh/g3146-z2794/

    转载请注明原文地址: https://ju.6miu.com/read-1201300.html
    最新回复(0)