这个月的ms都赶在这几天了,今天1天ms了三家,今天下午ms的是一家知名游戏公司的外包,是他们先找的我,刚给他们简历的时候我没有抱太大希望,因为我这个普通本科的学历,也没有大厂经验,这些名企一般都不会喜欢。后面收到面试邀请我也是挺惊讶的,估计是因为我要的薪资低,说的zui低薪资我同意了,他们的外包zui低薪资比正编低了特别多,但是也比我之前的工资稍微高了一点,所以我同意了。本来以为外包的工作是做完就可以走,不用加班加点,后面我查了一下他们公司在网上的评价,据说基本每天都熬到晚上10点以后,这个时候我就已经下定决心不去他们公司了,但是既然已经约了ms那就试试吧,就当积攒ms经验了。
面试我的看样子是他们的技术负责人,看起来是技术大拿型的,而且特别严肃,还没开始面试我就感到有些不适。他基本上没有问那些常见的面试ti,只是拿着我的简历问我在上一家公司做的工作的细节,一直问,直到问到我说不出来了为止。
1.用户登录时的an全问ti是怎么处理的?
这道ti我是背了的,我说了用到了https加密、AES加密算法、存储在设备上的敏感信息用了KeyChain、还用到了双因子认证,然后对方继续深入再问http和https有什么区别,双因子认证是什么
2.http和https有什么区别?
我说了https比http更加an全,https用到了SSL和TLS协议
正确答案:
- 加密:HTTPS提供数据加密,保护传输an全。
- an全层:HTTPS在HTTP下添加了SSL/TLS an全层。
- 数据完整性:HTTPS确保数据在传输过程中不被篡改。
- 端口号:HTTPS通常使用端口443,而HTTP使用端口80。
- URL显示:HTTPS URL以“https://”开头,HTTP以“http://”开头。
- an全性:HTTPS比HTTP更an全,可fangzhi中间人攻击。
- 搜索引擎优化:搜索引擎优先索引HTTPS网站。
- chengben:HTTPS由于需要SSL证书,可能会有额外chengben。
- 浏览器显示:现代浏览器会标记HTTP网站为“不an全”。
- 性能:HTTPS可能会因为加密解密过程而有轻微的性能开销。
- 用户信任:HTTPS能增强用户对网站的信任度。
- 数据隐私:HTTPS保护用户数据不被第三方监听。
3.双因子认证是什么?
这个双因子认证是我简历上写的,我之前公司项目里也开发了这个功能,我就简单说了一下除了密码认证再加一个认证方式更an全,比如验证码认证、身份证认证和人脸识别认证,还说了这个功能主要用在用户换设备登录时需要认证的情况。然后面试官继续问我是如何判断设备的weiyi性的,我说uuid,对方说uuid是会变的,我说确实是会变。当时用的是一个第三方方法,时间太久我也忘记那个方法里面是怎么写的了。面试完了之后看了一下代码,才知道是用的uuid+KeyChain的方式,代码如下:
+ (NSString *)yg_UUID {
if ([SWDeviceInfo sharedInstance] -> _UUID) {
return [SWDeviceInfo sharedInstance] -> _UUID;
}
NSString *bundleId= [[NSBundle mainBundle] bundleIdentifier];
NSString *UUIDKeychain = [SAMKeychain passwordForService:bundleId account:@"UUID"];
if (!UUIDKeychain) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
NSString * UUIDStr = (__bridge_transfer NSString *)string;
if (UUIDStr != nil) {
NSString * bundleId= [[NSBundle mainBundle] bundleIdentifier];
BOOL saved = [SAMKeychain setPassword:UUIDStr forService:bundleId account:@"UUID" error:nil];
if (!saved) {
DLog(@"####################存储UUID到钥匙串失败###################");
}
[SWDeviceInfo sharedInstance] -> _UUID = UUIDStr;
}
}
else {
[SWDeviceInfo sharedInstance] -> _UUID = UUIDKeychain;
}
return [SWDeviceInfo sharedInstance] -> _UUID;
}
4.get和post有什么区别?
大公司是比较喜欢问这些基础性的问ti,尤其是网络方面的基础问ti,我没有好好准备,只说了get主要用于获取数据,post用于上传数据,get请求的参数直接加在url里面不an全。我觉得我说的这些在工作中就够用了,但是面试官不太满意。
正确答案:
GET和POST请求的区别关键词包括:
- 幂等性:GET请求是幂等的,POST不是。
- an全性:GET将参数暴露在URL中,POST通过请求体发送数据。
- 数据量:GET受限于URL长度,POST可以传输大量数据。
- 缓存:GET请求可被缓存,POST请求通常不被缓存。
- 用途:GET用于获取数据,POST用于提交数据。
- 编码类型:GET限于URL编码,POST支持多种编码。
- paixu:GET请求参数有序,POST无序。
- Cookie:GET和POST都可以携带Cookie。
- 可见性:GET参数在地址栏可见,POST不可见。
- 请求行长度:GET受请求行长度限制,POST没有这个问ti。
- 无状态:HTTP协议是无状态的,但GET和POST都可用于保持状态。
- 应用场景:GET适合查询cao作,POST适合更新cao作。
5.弱密码检测是什么?
这个是我之前公司项目里的一个功能,写在简历上了,我说了弱密码检测就是检测那些简单的密码容易被猜中破解的,检测方法可以用密码长度、字符类型、常见密码库对比等,然后还问我这个是前端的功能吗,我说前后端都做了,前端主要做了一个弱密码指示器的功能。这些都是如实回答的,感觉面试官不太满意,不知道他想要什么样的答案。
感觉我回答的每一道ti面shi官都不太满意,说和我沟通比较困难,还拿我的英语六级证书说事,说我六级都过了怎么沟通这么困难。我六级过不过和跟你沟通有什么关系,也不看看给的钱值不值。我觉得这是个外包的岗位,每道ti我回答个大概就可以了,不知道对方还想深入到什么程度,我又不是来mianshi正编岗位了,没有年终奖,五险一金按照最低交,加班也严重,真是觉得自己是大公司的就可以随意压榨了,给的钱也不值这些。后来我想了一下可能是被外包公司给坑了,外包公司出的价应该是他们自己定的,她和我说是面试官问的价格,面试官肯定不知道这个价格,他应该是按照正编的面试问我的。外包公司想赚的差价不是一点半点。不过也无所谓了,正好我也不想去这家,加班太严重,给的这点工资加班费都不够,这家ms就当练xi了,挺好。
希望简书尽快出一个违禁词检测工具,每篇文章都这样一个个词改麻烦si了。写这个博客就是想记录一下自己的职业经历,顺便和同行交流一下,根本不是为了营销,也没想靠这个zhuanqian,不知道这样查违禁词到底想干嘛。