虾皮-暑期实习一面

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该怎么去除?

反问:

  1. 对实习生的要求?

没要求大家会ios,主要是大学基础,在这个基础上去快速学习。

  1. 工作建议?

多思考多学习相关领域基础。

全部评论

相关推荐

头像
04-10 23:19
已编辑
门头沟学院 C++
0offer 1面挂 2面挂 排序挂。。。继续加油,还需运气,再努力一把吧T.T当时统一整理的忘记是分别是哪家的题目了,项目和其他就不整理了。希望我们都有美好未来🌸#### **1.C++新特性,别扯封装继承多态**#### **2.你说线程池用future怎么用的?我commit之后我就等着还是怎么样?**立刻返回future对象,.get()的话就阻塞该线程等待线程池中worker执行完毕再得到结果。#### **3.如何用基类指针调用子类方法?**#### **4.如何让子类强制使用父类的实现?我说用"::", 他问具体底层怎么实现的?**#### **5.类B继承类A,类A有虚函数,那类B中有几个虚表?我回答1个。面试官继续问:那我怎么用B调用到A类里的实现虚函数呢?**#### **6.c++编写一个hello world, Linux上运行起来,并且输出在屏幕上,说出整个过程。怎么找到main函数的,怎么执行的,怎么输出到屏幕上。**#### **7.printf怎么实现的?怎么做到显示到屏幕上一个字符的?知道printf的实现在哪个源文件里面吗?**#### **8.内核空间和用户空间?printf在用户态执行还是内核态?从用户态调用到内核态。追问:他是怎么调用到内核态的?**#### **9.虚拟地址和物理地址**#### **10.虚拟地址到物理地址的映射是什么时候发生的?...引导我从用户态到内核态发生的**#### **11.malloc 1G空间。在1G里写100M数据,实际上映射到物理内存多少空间?什么时候映射的?**#### **12.分配了1G空间,我在0字节写了一个字节,我seek到100M位置写了一个字节,我实际需要分配多少的物理地址占用多少物理空间?**#### **13.讲一下C++堆和栈的实现?**#### 14.迭代器是什么?和指针有什么区别?为什么vector扩容迭代器失效?你知道栈和堆以及list queue deque的底层吗?说说要点。#### **15.stl栈怎么扩容?**#### 16.数据流和数据报之间区别?
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客企业服务