多益面试,有一种怀疑人生的感觉。向老师,我对不起你,去年刚学的网络安全,我竟然没说出来加密算法的名字。。。
也并不是题很难,而是简单的就是说不出来,写不出来。而难的也就是听过而已。。。
问题
1、说一下什么是线程安全,线程安全的场景。
线程安全就是确保程序产生正确的结果。每个线程在取得一个变量的时候,都在自己的working memory中建立一个拷贝,操作完成之后再写入main memory。
所以线程安全就是指多线程访问统一代码,不会产生不确定的结果。
2、堆栈溢出,怎么造成堆栈溢出
我觉得,堆栈溢出,这个堆栈,一指系统内存堆栈,造成此类堆栈溢出的话,就是死递归或者是递归层数太深。或者是当我们定义的变量为一个定值,他在内存
中有自己的大小,当我们输入的数据超过他的内存时,因为栈的生长方向是反向的,会覆盖原先的元素内容。当函数返回或者调用该变量的时候,出现错误,造成
堆栈溢出。
其次,是数据结构中的栈,他的溢出,就是一直压入数据但是未曾弹出,导致内存用尽。
3、问题,输入i am a student输出,i am a student
3、问题,输入i am a student输出,i am a student
这个代码不难,但是我在写的过程中忽略了一点,使用cin进行输入的时候,遇见空格就会结束,所以当我结果出现问题,我找了半天的原因才发现了这个小问题
。这就很尴尬了。。。
cin>>st,遇见空格就结束。getline(cin,st)遇见回车才结束。
代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string st;
getline(cin,st);
int size = st.size();
int num = 0;
int num1 = 0;
for(int i = 0; i < size; ++i)
{
if(st[i] == ' ')
num++;
else
num = 0;
if(num > 1)
num1++;
st[i-num1] = st[i];
}
st.resize(size-num1);
cout<<st<<endl;
}
4、说一下数字签名,原理
#include <string>
using namespace std;
int main()
{
string st;
getline(cin,st);
int size = st.size();
int num = 0;
int num1 = 0;
for(int i = 0; i < size; ++i)
{
if(st[i] == ' ')
num++;
else
num = 0;
if(num > 1)
num1++;
st[i-num1] = st[i];
}
st.resize(size-num1);
cout<<st<<endl;
}
4、说一下数字签名,原理
数字签名使用加密技术用于鉴别数字信息,一套数字签名通常定义两种互补的运算,一种用于签名,一种用于验证。加密方式有两种,对称加密和非对称加密。
对称加密,即发送端和接收端的秘钥是相同的,是你们之间共享的,不能被第三方知道的。
非对称加密,也叫作公开秘钥加密。即发送端和接收端的秘钥是不同的,分为公钥和私钥。以保证数据的安全性。
主要的加密技术有,Hash签名,比如MD5,还有DSS和RSA加密算法。
--------------------------------------------------------------------------------------------------
这是一条优雅的分隔线,可以忽略了。后边的内容都是我没有百度到正确答案,或者是自己换思乱想的。。。
5、移位加法器(不知道),感觉像单片机中的,但是我说的位运算实现加法。。。
这个百度了半天,也没有找到符合那个面试官说的。。。
6、开放性问题,淘宝的推荐是咋做的
6、开放性问题,淘宝的推荐是咋做的
我不太会,就开始了乱扯模式。平时能看到的推荐信息一般分为两种,一种是同类商品,一种是非同类商品。
同类信息的推荐,我们可以记录他本次登录时访问最多的某些信息,这时候使用缓存应该可以获得更好的响应效率。然后进行同类型的商品的推荐。
非同类信息的推荐,可以采用关联性的数据结构,比如牙刷和牙膏进行关联,然后推荐关联性最大的商品信息。
这个题和牛客上一个人的题有点类似,他的问题是百度地图和高德地图的实时路况是怎么是实现的。不太会这样的问题,但是我记得陈少当时上课的时候,说有一种可能
是:将所有注册使用百度地图的人的行驶信息全部记录下来,然后进行汇总推荐。比如,在一条路上,收集所有使用百度地图的驾驶人的行驶时间,结合路的总长度,当时时
间,给出该条路的路况信息。(老师说这么分析是因为他有一次,驾车出校,但是地图上显示异常拥堵,等他出去发现不过是北门好多司机,在等着拉客。)
7、对加班,996的看法
。。。。。
8、程序有问题,你会怎么办
8、程序有问题,你会怎么办
。。。。。