面试总结和感想怎么写 个人面试成功后的感想500字( 五 )


27、map的底层实现答底层是红黑树实现的,它是一个比较平衡的搜索二叉树,内部有序,所以在查找和删除的时候比较高效,时间复杂度是logntcp的三次握手过程和四次挥手过程答:这个建议将函数调用的情况添加进去说明 。详细:TCP建立连接三次握手和释放连接四次握手.notec++多态的实现原理答:c++多态主要是通过虚函数表实现的,c++多态的体现,主要是通过父类指针指向一个子类对象,此时调用的函数就是子类的函数,体现了多态性,因为在调用过程中,通过钱4个字节的虚表指针找到了虚函数表,此时由于实际对象是子类对象,那么其虚函数表是子类的虚函数表,对于同一个虚函数,子类的虚函数将会覆盖掉父类的虚函数,构建出自己的虚函数表,所以此时通过虚表指针访问放的虚函数就是子类的虚函数,这就是c++的多态的体现 。1c++对象的内存模型答:在内存中,前4个字节代表了其虚表指针,指向的是子类的虚函数表,接下来存放的是父类的对象的成员,再是子类成员部分 。
28、14c++的内存模型答:内存分为5个段,从低地址往高地址,一次是代码段、数据段、bss段、堆、栈 。然后balabala 。滑动窗口的作用答:主要就是为了实现流量控制,控制了发送包的速率,每次发送方只能发送滑动窗口内部的数据包,才能保证接收方不会因为发送过快造成流量淹没,数据包的丢失 。
【面试总结和感想怎么写 个人面试成功后的感想500字】29、他的大小是拥塞窗口和通告窗口两者的最小值 。项目1、如何实现断点续传,如何提高上传速算法1、计算表达式(改成后缀表达式进行处理)朋友圈问题,求总共有多少个朋友圈(使用并查集)链表逆序(剑指offer上有,但是如果不改变内存结构,那就只能改变值,使用栈进行存储)一个数组找中位数(通过快排思想,常数级的若干次求position,直到恰好是中心,时间复杂度是O(n),如果是海量数据呢2g数据,500内存如何处理?->hash之后分成小文件,再外部排序,使用归并,可以使用更大堆,直到数据过半)腾讯SNG(实习一面)只持续了20分钟,似乎面试官很忙 。1、系统调用和库函数有什么区别和联系epoll和select的区别epoll的高效,有几种工作模式(LT、ET)TCP和UDP的区别TIMEWAIT是什么,为什么要设置TIMEWAIT状态TCP的可靠性是如何实现的?(流量控制、拥塞控制、确认序号、校验???)暂时记不起来了 。
30、oppo(一面)首先介绍项目,我给他介绍了一下这个项目的架构,功能 。问题1:你觉得这个项目的难点在于哪里?(懵逼了)答:难点到不太多,可以说一下学到了什么,优化了什么,比如数据传输协议用到了protobuf,更快,更安全、数据量更小 。问题2:io复用和异步io有什么区别?答:IO复用其实一种同步IO,他只是将事件通知统一交给了select或者epoll,所以,对于IO复用,其实Select或者epoll在检测可用时是阻塞的,里面的读写一般也是阻塞的,而异步IO是不会阻塞的,数据从内核态拷贝到用户态缓冲区完成后,***作系统会发送信号,通知进程处理,这个过程进程是可以继续执行的,这个就是异步io 。
31、问题3:多进程和多线程有什么区别?如果给你一个业务场景,你是如何选择多进程还是多线程?答:多线程共享同一个地址空间,带来的好处就是他们进行通信比较方便,可以通过全局变量等,但是也有隐患,需要处理好竞争问题,而且一旦一个线程崩掉了,整个进程就死了,影响其他进程 。多进程相反 。此外,线程的创建开销更小 。
32、多进程的场景举例:比如你要进行主机迁移,多进程的话,你可以将某个进程迁移到另外的主机,不受影响,但是多线程没法迁移 。问题4:讲一讲c++的虚函数表呢?答:c++的多态就是通过虚函数表来实现的,该表是在编译期生成,存放在rodata段,我们知道一个类的对象的内存结构是前4个字节是其虚表指针,即vptr,指向了其虚表,虚表中装的就是该类的虚函数 。c++多态的体现,往往是通过父类指针,指向子类对象,我们发现调用的虚函数是子类的虚函数,而不是父类的就是因为此时的对象是子类对象,其虚表是子类的虚表,其中的同名虚函数早在编译期就已经被覆盖成子类的虚函数了,所以此时调用的是子类的虚函数,多态就是这么体现的 。

推荐阅读