C++面试题. 小米社招_c++面试题小米-程序员宅基地

技术标签: 【C/C++】  【个人学习工作计划及未来发展规划】  

一面:

  1. C++面向对象的三种特性?(每条详细说说)
  2. C++继承和组合?你在实际项目中是怎么使用的?什么情况下使用继承?什么情况下使用组合?
  3. C++构造函数可以是虚函数吗?为什么?
  4. C++析构函数可以是虚函数吗?为什么要将析构函数设置为虚函数?
  5. C++如何实现多态?虚表指针是什么时候被初始化的?实例化一个对象需要那几个阶段?(三个)
  6. C++偏特化?
  7. 重载、重写、覆盖?
  8. static关键字的作用?(要全面)怎么实现的?
  9. inline和宏定义的区别?inline是如何实现的?宏定义是如何实现的?
  10. 指针和引用的区别?怎么实现的?
  11. malloc和mmap的底层实现?malloc分配的是什么?(底层详细回答)
  12. Linux进程地址空间布局?(这里又问道虚拟内存和分页、页表这些东西)
  13. tcp的握手挥手过程?(详细)tcp为什么要连接?tcp建立连接这里你是怎么理解的?
  14. 半连接队列?全连接队列?
  15. tcp流量控制和拥塞控制?
  16. time_wait状态?为什么是2msl?
  17. 有很多close_wait怎么解决?
  18. 阻塞和非阻塞?同步和异步?
  19. 五种IO模型?
  20. select和epoll有什么区别?epoll的LT和ET模式?
  21. udp为什么是不可靠的?bind和connect对于udp的作用是什么?
  22. NAT是什么?底层实现原理?
  23. 斐波那契数列的非递归写法?(写出代码)
  24. 共享桌面用你熟悉的任意画图工具画项目架构图?(我用的ProcessOn)
  25. 聊项目?
  26. 总共用时两个小时吧,问了很多,有些已经想不起来了。

二面:

  1. 聊项目
  2. 1

    2

    3

    4

    5

    6

    struct{

        char a;

        short b;

        int c;

        char d;

    };

    占多少内存?然后又扯到位域?
  3. map和unordered_map的底层实现?目前map支持map[10] = 20这种操作,其底层怎么实现的?和insert有什么区别?
  4. 一个unique_ptr怎么赋值给另一个unique_ptr对象?(std::move)
  5. 1

    2

    3

    int *sp = new int{10};

    shared_ptr<int> sp1(sp);

    shared_ptr<int> sp2(sp);

    这段代码会有什么问题?引用计数如何变化?
  6. 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    #include <sys/types.h>

    #include <unistd.h>

     

    pid_t pid1;

    pid_t pid2;

     

    pid1 = fork();

    pid2 = fork();

     

    cout << "cur pid:"<<getpid() << ",pid1:" << pid1 << ",pid2:" << pid2 << endl;

    这段代码打印输出?(写出来:四组)
  7. pthread_detach和pthread_join的作用?
  8. 僵尸进程和孤儿进程?
  9. 一个进程能不能绑定到一个cpu?系统调用接口是什么?线程呢?
  10. 对于使用tcp通信的两端,如果client已经退出,此时服务端继续send会出现什么问题?这个当然就要扯到SIGPIPE信号了?
  11. 一个整数数组,可能是降序或升序,也可能是先升序再降序,求最大值?(几秒后就让我赶紧说思路)
  12. 写代码:单链表,求中部的N个节点的头节点和尾节点?(需要写测试用例)

三面:

  1. 为什么离职?
  2. 聊项目?
  3. 一致性hash?能不能用到你刚才的项目中?
  4. c语言的函数调用栈底层详细说说?
  5. static变量存放在哪里?什么时候分配的内存?(这里感觉面试官优点不太清楚,我就详细说了说)
  6. k-v数据库如果get有百分之80的数据都不命中怎么解决?
  7. 缓存穿透问题怎么处理?
  8. map的底层实现?zset的底层实现?为什么zset不使用红黑树作为其底层实现?为什么map不使用跳表作为其底层实现?
  9. 写道题吧:非递归求二叉树的高度?(需要写测试用例)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/paradox_1_0/article/details/106520739

智能推荐

python——字符串-程序员宅基地

文章浏览阅读1k次,点赞23次,收藏25次。字符串一般是用来创建的,可以包括数字,字母,中文,特殊字符fill:#333;color:#333;color:#333;fill:none;引号单引号双引号三引号。

ethz(苏黎世联邦理工学院)机器人系统实验室开源库_towr-程序员宅基地

文章浏览阅读1.2k次,点赞23次,收藏33次。RSL 机器人系统实验室提供大量开源软件包,为机器人社区提供支持。请查看github。_towr

Underactuated Robotics - 欠驱动机器人学(一)- 全驱动与欠驱动系统-程序员宅基地

文章浏览阅读1.3k次,点赞41次,收藏29次。根据牛顿的观点,机械系统的动力学是二阶的(其状态由位置向量 q(也称为配置向量)和速度向量以及(可能还有)时间给出。二阶控制动力系统的一般形式是:其中 u 是控制向量。定义 1.1 (欠驱动控制微分方程) 二阶控制微分方程描述如下:在状态和时间 t 中,如果所得到的映射是可射的:对于每一个,都存在一个能产生预期响应的,那么系统就是全驱动的。否则,就是欠驱动(状态在时间 t)。_欠驱动

MuJoCo 入门教程(一)_mujoco camera-程序员宅基地

文章浏览阅读774次,点赞21次,收藏17次。在 MuJoCo 仿真中输入自定义数字有三种方法。首先,可在 XML 中定义全局数字字段。它们有一个名称和一个实数值数组。其次,可以通过特定元素的自定义数组来扩展某些模型元素的定义。具体方法是在 XML 元素大小中设置 nuser_XXX 属性。第三,数组 mjData.userdata 不用于任何 MuJoCo 计算。用户可以在这里存储自定义计算的结果;请记住,所有随时间变化的内容都应存储在 mjData 中,而不是 mjModel 中。自定义文本字段可以保存在模型中。_mujoco camera

blender附带自动权重时的骨头加权问题_blender附带自动权重错误-程序员宅基地

文章浏览阅读749次。这是一个笨办法,而且需要在调整骨骼前确定,不然得放大后重新调整。先碎碎念一下好用的绑骨骼小功能(主要是我自己老是忘记)有时候ctrl+p附带自动权重后,会出现 “键放大模型和骨骼,一直放大直到绑定成功。✦把骨骼显示在人体前面,方便调整动作。有没有小伙伴有更好的方法 QAQ。(注:一定要在编辑模式下)_blender附带自动权重错误

大数据之数据治理架构 —— Atlas_atlas数据治理-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏9次。数据治理是一种组织和管理数据资源的过程,旨在确保数据的质量、安全性、可靠性、可访问性和合规性,以支持企业决策和运营需求。数据治理涉及制定和执行数据管理策略、规则和流程,包括数据分类、数据质量管理、数据安全和隐私保护、数据共享和访问控制、数据存储和备份等方面。数据治理通常需要跨部门合作,包括IT、业务和法务等部门,以确保数据资源在整个企业中的有效管理和利用。数据治理对于企业决策的准确性和效率至关重要,可以提高数据价值、减少风险和遵守法规要求。_atlas数据治理

随便推点

salesforce 平台基础_salesforce平台-程序员宅基地

文章浏览阅读2.5k次。创建程序在设置中点击构建应用程序然后添加应用程序,然后会有下面的界面 创建对象 在搜索框中搜索:对象,即可看到自定义对象页面,点击新建自定义对象按照步骤走就可以。创建选项卡创建对象后,需要在插入该对象的数据,如果把对象放在选项卡上,那么这样便会跟快捷。有两种方法可以创建选项卡:第一种:在创建对象的时候,最后一个栏目上,勾选:在保存该自定义对象后启动“新自..._salesforce平台

OpenWRT软件安装教程,安装的几种方法_openwrt 怎么安装ipk-程序员宅基地

文章浏览阅读8.8w次,点赞4次,收藏29次。第1种安装方法web安装:系统-- 软件包先点更新软件包清单输入软件名,点击安装;用第1个方法,用第1种方法,必须有联网才能安装;我从来没有安装完成过,像这样就是错误了,什么内核版本不对,或是不匹配之类;第2种安装方法ssh连接路由命令安装:或者用ssh软件PuTTY连接路由器;需要用到软件:PuTTY 自行下载这个软件;输入自己的路由IP,选择SSH,因为是利用命令安装,点击打开;输入用户名,然_openwrt 怎么安装ipk

uni-app实现问卷调查试卷_uview调查问卷-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏20次。uni-app实现问卷调查试卷先向后台请求试卷内容,请求方法如下:data() { return { sjlist:[], das:[], tmidlist:[] }},onLoad() { this.getdata();},methods: { // 请求页面数据 getdata(){ var access..._uview调查问卷

python字符串的用法_mystr='itheima' mystr[1]='a' print(mystr)-程序员宅基地

文章浏览阅读320次。字符串的用法#coding:utf-8#字符串的三种风格'''print('hello world')print("hello world")print('''''')ch = '我'print(ord(ch)) #ord只能处理单个字符#字符串截取mystr = '生活中的程序员真实写照、一款游戏一包烟,一台电脑一下午。一盒泡面一壶水,一顿能关一整天'print(mystr[:]) #整个字符串print(mystr[-15:-8])print('notepad')pr_mystr='itheima' mystr[1]='a' print(mystr)

获取汉字首字母大写-程序员宅基地

文章浏览阅读510次。获取汉字首字母大写/* * 获取汉字首字母大写 * */function getFirstChar($s0){ $fchar = ord(substr($s0, 0, 1)); if (($fchar >= ord("a") and $fchar <= ord("z")) or ($fchar >= ord("A") and $fcha..._求的首字母大写

财务女,30岁无情被辞:想给财务提个醒!!-程序员宅基地

文章浏览阅读843次。最近每个人为了保住工作,都太拼了!不要说朝九晚五,朝九晚六的生活都已经不能保证了,每天10点以后下班已经成了常态,周末还要24小时待命。37岁的财务总监璐璐,以前只需要安排安排工作,等着准时下班回家陪孩子就可以了,现在为了保住工作,每天都要开会到很晚。01、工作越来越难我的一位财务朋友童童,上周突然发微信问我:“你工作快乐吗?”这简直是对社畜的灵魂拷问!但是童童一直都是懂事细心的女孩子,不会没有缘由的问出这样一句话。原来是最近的工作压力太大了,让她开始怀疑自己。硕士一毕业

推荐文章

热门文章

相关标签