虾皮-暑期实习一面
2024年的暑期实习面试经验,一直没来得及分享。近期有时间了才整理了一下,希望对大家有帮助。
虾皮仅面了一次,二面因为时间不合适,拒了两次后再也没有约面了。
背景
岗位:IOS开发
参考面经: https://www.nowcoder.com/discuss/353157032721195008?sourceSSR=search
https://www.nowcoder.com/feed/main/detail/33e11bc1702f44b28e0f06d2ab53a013?sourceSSR=enterprise
https://www.nowcoder.com/discuss/353157006691344384?sourceSSR=search
https://www.nowcoder.com/feed/main/detail/1786db21c59b490194181d7816017f92?sourceSSR=search
内容
自我介绍(1min)
八股:43min
【操作系统】用户态和内核态的区别?(没答完整,需背记)除了安全性还有什么?
【操作系统】进程死锁的条件?【表述没有直白说出重点(四点)】对银行家算法有了解吗?如何确定的安全序列?算法中构造了哪些数据,这些数据做了哪些操作?(不熟,没答上来)
【数据结构】栈和队列的区别?是线性的还是非线性的?内存分配是连续的吗?(没答出来)如何使用栈实现队列?如何使用队列实现栈?
【数据结构】哈夫曼树的应用场景?给了一个"shopeeios"字符串进行编码。(花了10min,感觉没编很好)
【数据结构】快速排序的流程?平均时间复杂度是多少?(没答上来,nlogn)空间复杂度?(说O(n)答错了!!!快速排序的空间复杂度可以视为O(logn),这是因为递归的深度决定了栈空间的使用,而每次递归所需的空间是一个常量,不会随着n的变化而变化)
【计网】HTTP1.1和2.0的区别?(答了四点)安全性上区别有吗?(答不出来)
【计网】DNS解析的过程?是否有查询操作系统缓存?一开始一定查看操作系统吗?应用程序,如浏览器缓存呢?你写应用程序是否也可以自己构建DNS缓存表呢?(都没答上来……没考虑过)本地服务器是什么概念?是谁构建的?(不会)顶级域服务器后是什么?如果顶级域服务器也没有目标服务器地址呢?(不会就瞎答,说会广播)
【计网】TCP的可靠性相对于UDP来说是怎么保持的?(说了重传和拥塞控制)还有吗?它的顺序是怎么实现的?拥塞控制是解决收发问题还是链路上网络上的问题?(不会,说了滑动窗口流量控制)
【计网】TCP如何保证数据没有出错?面向连接是怎么做的?(说了三次握手四次挥手)为什么挥手比握手多一次?
【计网】校验码是怎么生成的?(记不清了)
【计网】https的中间人攻击是怎么实现的?(没听清,说不知道)
算法:
1.写一个快速排序算法,升序排列,不用写输入输出。(抄的,加上修改18min)
2.大数加法,用字符串保留运算结果,输入为两个字符串,有正有负,正数无符号位,无前导0。要求说解题思路。(12min,逐步引导,但最后还是答的不好)
异号该如何逐位相加?如何确定哪个是大数?还有别的问题吗?结果的前导0该怎么去除?
反问:
- 对实习生的要求?
没要求大家会ios,主要是大学基础,在这个基础上去快速学习。
- 工作建议?
多思考多学习相关领域基础。