三道大题+两题TestCase
编程题
Q1:实现一个字符串反转,规则如下:
输入一个字符串str,一个分隔符delim,要求实现对分隔符之间的字符串做反转操作,但是其内部顺序不变。
接口: stringreverseDelimited(string str, const char delim)
举例:
reverseDelimited(NULL, *) = NULL
reverseDelimited("", *) = ""
reverseDelimited("www.csdn.com", '.') = "com.csdn.www"
reverseDelimited("www.csdn.com", '*') = "www.csdn.com"
思路:类似编程之美习题,可以通过内外两次反转得到。注意判断分隔符是否存在串中,以及空串和空指针等特殊情况。
Q2:实现一个用户的历史记录功能。包含以下基本功能。限制:内存有限,最多可以存储MAX_NUM个网址数据。
*pre(currentNode) //访问前一页
*next(currentNode) //访问下一页
*insert(currentNode) //访问新网址
思路:内存有限,且需要访问前驱和后继节点,可以采用循环队列(双向链表)的数据结构。
struct Node
{
string url;
Node *pre;
Node *next;
};
Q3:给出1~12月份的用户网站访问log数据,包含用户IP,访问时间,访问网站url refer cookie 等。不限语言,考虑效率。请设计得出某用户最感兴趣的网站url,并求出该网站的用户忠诚度。
没接触过前端,这题就瞎写了。。。
想法:用python实现文本数据的读取和解析,BeautifulOfSoup。Hash处理日志大数据。
测试题
Q1:给编程题1,2写测试用例。
Q2:小明想求师姐内推,于是给师姐发了一封带附件的邮件,但是师姐check邮箱后发现没有收到,写出导致邮件接收不到的可能情况,并写出检查方案。
a. 有一方断网---双方检查网络连接情况
b. 邮件发送失败---小明检查发件箱&草稿箱
c. 服务器端出现故障---双方ping 服务器主机看是否联通(比如国内用gmail不稳定)
d. 邮件遭防火墙拦截---师姐检查防火墙设置,比如是否拦截带附件邮件(一些公司内网有拦截功能)
e. 邮箱设置问题---师姐检查邮箱设置,取消附件不接受的勾选
f. 小明发错人了---小明核查收件人地址