一、简答题(30分)
二、算法与程序设计题(40分)
3、给定字符函数a、插入 b、删除 c、替换
例如字符串A=acegf,字符串B=adef,最少需要2步操作将A转换为B,即第一步将c替换为d,第二步将g删除;
(1)请问将字符串A=gumbo转换为字符串B=gambol,最少需要几步操作,列出如何操作(2分)
(2)任意字符串A和字符串B,如何计算最小操作次数,计算思路,并给出递归公式(3分)
(3)实现代码(注意代码风格与效率)(15分)
三、系统设计题(30分)
RSA SecurID安全系统
应用场景:这是一种用户登录验证手段,例如银行登录系统,这个设备显示6位数字,每60秒变一次,再经过服务器认证,通过则允许登录。问How to design this system?
1)系统设计思路?服务器端为何能有效认证动态密码的正确性?
2)如果是千万量级永固,给出系统设计图示或说明,要求子功能模块划分清晰,给出关键的数据结构或数据库表结构。
考虑用户量级的影响和扩展性,用户密码的随机性等,如果设计系统以支持这几个因素.
3)系统算法升级时,服务器端和设备端可能都要有所修改,如何设计系统,能够使得升级过程(包括可能的设备替换或重设)尽量平滑?
欢迎各位楼下探讨给出答案!~
1、用简单语句描述数据库操作的步骤
(1)建立数据库连接
(2)打开数据库连接
(3)建立数据库命令
(4)运行数据库命令
(5)保存数据库命令
(6)关闭数据库连接
2、写出TCP/IP的四层结构
(1)链路层:有时也称作数据链路层,通常包括操作系统中的设备驱动程序和计算机对应的网卡。
(2)网络层:处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层包括IP协议、ICMP协议以及IGMP协议。
(3)传输层:主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议中有两个互不相同的协议:TCP和UDP。
(4)应用层:负责处理应用程序的细节。几乎所有的TCP/IP都提供Telnet远程登录、FTP文件传输协议、SMTP简单文件传输协议、SNMP简单局域网络管理协议。
3、什么是MVC结构,并描述各层结构的作用二、算法与程序设计题(40分)
1、字母a-z,数字0-9,现需要其中任意3个作为密码,请输出所有可能组合。(伪码\C\C++\JAVA)(10分)
void Combination(char* string, int number)
{
if(number == 0)
{
vector<char>::iterator iter = result.begin();
for(; iter < result.end(); ++ iter)
printf("%c", *iter);
printf("\n");
return;//这里要必须要return
}
if(*string == '\0')
return;
result.push_back(*string);
Combination(string + 1, number - 1);
result.pop_back();
Combination(string + 1, number);
}
2、实现字符串反转函数(10分)
3、给定字符函数a、插入 b、删除 c、替换
例如字符串A=acegf,字符串B=adef,最少需要2步操作将A转换为B,即第一步将c替换为d,第二步将g删除;
(1)请问将字符串A=gumbo转换为字符串B=gambol,最少需要几步操作,列出如何操作(2分)
(2)任意字符串A和字符串B,如何计算最小操作次数,计算思路,并给出递归公式(3分)
(3)实现代码(注意代码风格与效率)(15分)
三、系统设计题(30分)
RSA SecurID安全系统
应用场景:这是一种用户登录验证手段,例如银行登录系统,这个设备显示6位数字,每60秒变一次,再经过服务器认证,通过则允许登录。问How to design this system?
1)系统设计思路?服务器端为何能有效认证动态密码的正确性?
2)如果是千万量级永固,给出系统设计图示或说明,要求子功能模块划分清晰,给出关键的数据结构或数据库表结构。
考虑用户量级的影响和扩展性,用户密码的随机性等,如果设计系统以支持这几个因素.
3)系统算法升级时,服务器端和设备端可能都要有所修改,如何设计系统,能够使得升级过程(包括可能的设备替换或重设)尽量平滑?
欢迎各位楼下探讨给出答案!~