第二次面试
其实是属于霸面去的,为了基类面试经验嘛
1.什么是TCP协议?怎么建立TCP连接?释放?怎么保证收到的包的顺序?
*这个问题让我有点不知道怎么回答,我就照搬概念了,我说这是一种面向连接的,可靠的,提供字节流服务的协议,通过三次握手来建立连接,四次挥手来释放连接,我说为了保证有序性,我会在每个包上标记一个序号,接收端进行简单排列就行,接着又问道:如果接收端接收到了之后要不要给确认?我说当然需要的。。。没有什么往深里问,个人感觉挺水的
2.说一下你是怎么实现堆的?
*也就是简单讲了一下堆的实现,用什么实现,堆的特性等等,怎么使用堆排序。。。
3.说一下你是怎么实现大数据乘法的计算的?
*答:乘法我是复用的加法,原理很简单,两个数相乘就是将一个数累加另一个数那么多次。但是两个大数进行累加这样的时间复杂度太大,所以我使用数学知识进行优化,就是从另一个数的最高位开始,每次累加这个最高位数字次,结果后面补一个0,这样时间复杂度就得到大大的优化。
4.说一下一个程序在运行是的内存分配问题?
*我不知道要怎么回答,但是我一想,程序运行起来不就是进程吗?所以我就把进程地址空间原封不动的搬了过来,说这是分为几个段的怎么分的,分别存储的什么数据,然后又问我:这个堆空间是连续的吗?我觉得应该不是,因为动态分配比较灵活,还有就是系统使用链表来存储空闲内存空间的,所以应该是不连续的。
5.说一下什么是守护进程?
*我回答的不好,因为概念记不清了。。。
守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件
6.接着就是所谓的hr面
*问的是薪资还有一些什么都不记得了。。。。