多益网络2020笔试题

多益网络2020笔试题

题型:选择题,填空题,问答题,一道编程题。

填空题

  • 防火墙
    1.1 定义:一种控制访问技术
    1.2 特点:防火墙将内部的网络成为可信网络,外部网络成为不可行网络
    1.3 防火墙技术:

        (1) 分组过滤路由器是一种分组过滤功能的路由器,他根据过滤规则对进出内部网络 的分组执行转发或者丢弃。
     		过滤规则基于分组的网络层或者运输层,例如:ip,端口,协议类型,常见的为端口。
     		过滤可以是无状态的,独立处理每一个分组,也可以是有状态的,跟踪每个连接和会话的通信状态,根据状态信息决
     		定是否转发分组。  
     		
     	(2) 应用网关,代理服务器,他在应用层中扮演报文中继的角色。客户端向服务端发送报文,通过应用网关,应用网关检查
     		该报文,查看请求是否合法,如果合法,应用网关以客户进程的身份将请求报文转发给原始服务器,如果不合法就丢弃。
     		一种网络需要一个应用网关。
    
  • 正则表达式

  • 运算符与(&)、非(~)、或(|)、异或(^)

    3.1 &(1相同的为1) 8&9 0001 & 1001 = 0001,则结果为 1;

    3.2 ~ (源码的补码的取反的取反) 5~ 的源码为 0000 0101 补码 1111 1010 源码取反(补码-1)1111 1001
    取反 0000 0110 则结果为 6;

    3.3 | (有1为1 ,无1为0) 129|128 10000001 | 10000000 = 10000001 则结果为129;

    3.4 ^ (同为0不同为1) 15^2 1111 ^ 0010 = 1101 则结果为 13;

  • Java语言不允许使用(指针)访问内存,更不允许(指针数组)访问内存

问答题

  • 进程和线程区别

     	(1) 进程是资源分配的最小单位,线程是程序执行的最小单位。
    
     	(2) 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护
     		代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址
     		空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
     		
     	(3) 线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以
     		通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。
    
     	(4) 多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另
     		外一个进程造成影响,因为进程有自己独立的地址空间。
    
  • 翻译静态变量

  • web应用中可能出现的安全问题

     	(1) sql注入
     	    拼接的SQL字符串改变了设计者原来的意图,执行了如泄露、改变数据等操作,甚至控制数据库
     	    服务器, SQL Injection与Command Injection等攻击包括在内
     	    
     	(2) 重复提交
     		程序员在代码中没有对重复提交请求做限制,这样就会出现订单被多次下单,帖子被重复发布。恶
     		意攻击者可能利用此漏洞对网站进行批量灌水,致使网站瘫痪
    
     	(3) 登录信息提示
     		用户登录提示信息会给攻击者一些有用的信息,作为程序的开发人员应该做到对登录提示信息的模糊
     		化,以防攻击者利用登录得知用户是否存在
     	
     	(4) 跨站脚本攻击(XSS或css)
     		跨站脚本(Cross-Site Scripting)是指远程WEB页面的html代码可以插入具有恶意目的的数据,当浏览器
     		下载该页面,嵌入其中的恶意脚本将被解释执行,从而对客户端用户造成伤害。简称CSS或XSS
    
     	(5) 没有限制URL访问
     		系统已经对URL的访问做了限制,但这种限制却实际并没有生效。攻击者能够很容易的就伪造请求直接
     		访问未被授权的页面
     		
     	(6) 越权访问
     		用户对系统的某个模块或功能没有权限,通过拼接URL或Cookie欺骗来访问该模块或功能
     		
     	(7) 泄露配置信息
     		服务器返回的提示或错误信息中出现服务器版本信息泄露、程序出错泄露物理路径、程序查询出错返回
     		SQL语句、过于详细的用户验证返回信息。
     	(8) 不安全的加密存储
     		常见的问题是不安全的密钥生成和储存、不轮换密钥,和使用弱算法。使用弱的或者不带salt 的哈希算法
     		来保护密码也很普遍。外部攻击者因访问的局限性很难探测这种漏洞。他们通常必须首先破解其他东西以
     		获得需要的访问。
     		
     	(9) 传输层保护不足
     		在身份验证过程中没有使用SSL / TLS,因此暴露传输数据和会话ID,被攻击者截听,或使用过期或者配置
     		不正确的证书。
    
  • 异常及其异常处理方式

    异常:

    非受查异常

     	(1) Error:系统内部运行错误,或者资源耗尽错误。
     	
     	(2)派生于 RuntimeException:数组越界,空指针,类型转换错误。	
    

    受查异常

     	(1) 其他异常:不是Error和RuntimeException,例如:文件末尾读取数据,试图打开不存在的文件,
     		使用字符串查找文件指定的类,而类不存在。
    
    异常处理的方式
     	(1) 捕获异常:
     				1. 使用
     					a. try/catch 语句块
     					b. try中检查异常,catch中捕获异常,
     					c. 捕获多个异常
     				2. 再次抛出异常与异常链
     					a. 在catch中使用throw抛出
     					b. 抛出子系统中的高级异常,而不丢失原始的异常信息
     					
     		 		3. 特点
     		 			a. 父类没有声明受查异常的时候,子类必须使用捕获异常
     		 			b. 使用场景:知道处理方法的异常
     		 			c. 捕获多个异常必须是范围小的在范围大的前面
     		 		4. finally
     		 			a. 不管是不是异常,都会被执行的子句
     		 			b. return 比try后执行但是一定会执行
     	(2) 抛出异常:
     	 		throw:
     	 		    1. 如何抛出异常
     	 				a. 找到合适的异常类或者创建异常类
     	 				b. 实例化该类
     	 				c. 抛出该类
     	 			 2. 创建异常类
     	 			 	a. 继承相关的异常类
     	 			 	b. 定义两个构造函数,一个默认一个详细描述信息的
     	 		
     	(3) 声明异常:		
     	 		throws:
     		 		1. 声明异常的4种情况:
     		 			 a. 调用一个抛出受查异常的方法
     		 			 b. 程序运行中发现错误,并且利用throw语句抛出一个受查异常
     		 			 c. 程序出现错误,
     		 			 d. Java虚拟机和运行时库出现的内部错误
     		 		2. 如何使用
     		 			 a. 方法首部声明
     		 		3. 特点:
     		 			 a. 子类的受查异常必须比父类的受查异常范围小
     		 			 b. 没有throws说明符的方法将不能抛出任何受查异常
    
  1. sql 优先输出字段,其余的照常输出(忘记了字段是num,主要是一个范围,还是varchar。暂时)

     按varchar处理
     select * from table order by case  when 字段= “条件”  then 1 else 0 end  ;
     
     select * from table where 字段=条件
     union 
     select * from table  
     
     select * from table where 字段=条件
     union all 
     select * from table  not in (条件 )
    

编程题

输入一个值,表示人数,可以相邻之间交换位置,问交换几次可以将左边的交换到右边,右边的交换到左边。
感觉题意理解的不是很好,期待有大佬来解决一下。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值