一 简答题
1、进程和线程有什么区别?(到处都在问这个问题)
2、简诉数据库的存储过程及其优点。(我实习的时候就是一直在写存储过程,所以)
3、全局static变量和普通全局变量区别?static局部变量和普通局部变量的区别?static函数和普通函数的区别?
二 算法与程序设计题
1、编码实现函数
void* memcpy(void* des, void* src, int len)
2、有这样一个二维矩阵A[N][N],满足j < k时, 1)a[i][j] < a[i][k]; 2)a[j][i] < a[k][i](其实就数据从左上角到右下角纵横方向上都递减),给定一个数target,如何快速搜索是否
在这个矩阵中,是的话输出二维坐标,否则输出Null;
3、实现一个stack,要求要有min函数实现,该实现复杂度要求O(1)。
三 系统设计题
情景:新浪微博发布内容要求字符不超过140,但是用户如果在发布内容中有很长的url时,会认为是很多字符。所以新浪上发布内容包含一个URL时,时把他压缩成一个TinyURL(缩小)。比如:
输入:http://zhidao.baidu.com/search?ct=17&pn=0&tn=ikaslist&rn=10&word=helloworld&ie=utf-8&fr=wwwt
实际显示:http://asdfa.cn/ak78ss。(这里我只是随便举了个例子)
前面asdfa.cn是对应域名 zhidao.baidu.com,后面长长的字符串被压缩成ak78ss。
现在让你来设计TinyURL的实现,一下问题要怎么设计:
问题一:域名后面的编码如何实现?
问题二:对于已经映射过的一个URL,怎么查找已存在的TinyUrl?
问题三:有10亿个url,一个服务上存不下,需要多台服务器,怎么设计实现?
时间: 2024-10-11 17:14:09