个人面试后的感想500字 面试总结怎么写( 六 )
问题3:多进程和多线程有什么区别?如果给你一个业务场景 , 你会怎么选择多进程还是多线程?
答:多线程共享同一个地址空 。优点是可以方便的通信 , 可以通过全局变量等 。但是也有隐患 , 需要处理好竞争问题 。而且 , 一旦一个线程崩溃 , 整个进程都会死掉 , 影响其他进程 。多过程是相反的 。。此外 , 线程的创建成本更少 。多进程场景的例子:比如你要迁移一个主机 , 你可以把一个进程迁移到另一个主机上而不受影响 , 但是多线程不能迁移 。
问题4:c++的虚函数表怎么样?
答:c++多态性是通过虚函数表实现的 , 虚函数表是在编译时生成的 , 存储在rodata节中 。我们知道一个类的一个对象的内存结构是前四个字节 , 这是它的虚表指针 , 也就是vptr , 指向它的虚表 , 虚表包含了这个类的虚函数 。c++多态性的体现往往是通过父类的指针来引用子类对象 。我们发现调用的虚函数是子类虚函数 , 而不是父类是因为此时的对象是子类对象 , 它的虚表是子类虚表 , 其中同名虚函数早在编译时就已经作为子类虚函数覆盖了 , 所以此时调用的是子类的虚函数 , 多态性由此体现 。
问题5:构造函数和析构函数的顺序 , 为什么析构函数是反的?
答:构造:祖先类被子类化;结构:先子类再父类 。这是c++的规则 。
中间做了一套钢笔试题 , 各种都有 。
编程/算法
1.一个文件无序存储1w个数字 , 每行一个 。号码范围是1-1w , 现在随机删除2个号码 。请找到他们两个 。
答案:使用哈希数组遍历文件 。每次遍历一个数字时 , 将下标为该数字的数组元素设置为1 , 不加1 , 因为该数字是不重复的 。最后 , 再次遍历数组 , 值为0的元素的下标就是想要的数字 。
2.怎么优化你申请的内存?
答:可以用位图 。每一位可以代表一个数字 , 这样可以压缩内存 。
3.压缩比是多少?
答:每一位都有一个数 , 而前一个数组的一个元素是int类型 , 占32位 , 所以压缩比是32倍 。
4.哪些场景使用位图?
答:我说的是数据比较密集 , 你这里的数据如果不是连续重复就是一致的 , 你的数据是有范围的 。
5.数据重复了怎么办?
答:可以使用2-bitmap , 其中00表示不出现 , 01表示出现一次 , 10表示出现两次 , 11表示未定义 , 所以遍历一次就可以找出是哪些数字 。
他回答:没有 , 比如数字3 , 出现了多少 , 这个 , 这个需要知道 。我说 , 10bit能代表的数是1024 , 你们每个数不能超过1w次 。因此 , 如果你想记录次数 , 你应该仍然使用位图而不是一位数 , 也许一位数使用14位 , 但这比一位数使用32位要好 。
oppo第二面
2.介绍usb的项目、功能和体系结构 。
3.这种io复用模式与普通多线程多进程的区别
答:io复用 , 多个链接复用一个线程 , 而普通多线程是一个链接到一个线程 , 所以必须创建的线程数量多 , 现成的创建成本高 , 所以io复用的成本小 。
4.网络传输的数据协议
主要有三段 , 前8位是数据类型 , 中间是长度 , 最后是具体数据 。
5.如果这是协议 。如果两个数据包连在一起 , 怎么分开?
答:在报头中增加几个位作为隔离位 。
6.如何实现你的fd是负载均衡的?
答:分类处理 。
7.当多个用户访问同一个资源时如何锁定?
我不太明白他的意思 。epoll内部处理事件同步顺序执行 , 这里的锁是一个线程资源 。
8.tcp如何处理粘性数据包?
9.tcp是怎么封闭的?也就是挥舞四次的过程 。
10.tcp关机第四段没收到怎么办?
11.tcp拥塞控制过程
12.删除和免费的区别
13.STL的出现是为了什么?
14.STL的迭代器有哪些类型?
15.STL hashmap的实现?
16.线程间同步的方法
17.进程间通信的方式
18.如何用信号量做一个互斥锁?
19.系统调用的返回有什么变化?
推荐阅读
- 个人绩效考核自我评价 绩效自评怎么写
- 冯巩|相声演员刘伟的一步“错棋”,差点“毁”了他整个人生
- 制造中国第一架飞机的是哪个人 设计制造中国第一架飞机的人是哪一个
- 简单大方的英语自我介绍 面试的英文怎么说
- 分享无经验出纳面试技巧 面试出纳的专业问题
- 核心能力的四个特点 个人核心能力是什么
- 新人面试自我介绍攻略 产品经理面试自我介绍
- 深入剖析http内涵 http下载是什么
- 十亿探长徐乐!徐乐雷洛是一个人吗
- 龙文章|详细解析《我的团长我的团》龙文章之死,团长给炮灰团最后的救赎