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

智能推荐

前端组件库-程序员宅基地

文章浏览阅读101次。0. 前端自动化前端构建工具gulp - The streaming build systemgrunt - the JavaScript Task Runner前端模块管理器Bower - A package manager for the webBrowserifyComponentDuoRequireJSSea.jscs..._webix ejs node.js

Google maps API开发-程序员宅基地

文章浏览阅读215次。被房产网的地图搜索快给搞疯了,从网上搜的,留着以后学习用注:经纬度的查询,找了半天,终于找着活神仙了,(*^__^*) 嘻嘻……1.经纬度查询工具:http://www.playgoogle.com/googlemap/tool1.html 2.http://www.playgoogle.com/catalog.asp?cate=1 3.利用 Google Maps 查詢地..._maps.tr

给最后一个li增加样式-程序员宅基地

文章浏览阅读508次。用Jquery来写:$(".rec3 li:last").css("margin-right", "0px");说明:  1、$(".rec3 li:last")选择器下的最后一个元素  2、增加样式转载于:https://www.cnblogs.com/cxnian/p/7449760.html..._js判断最最后一个li标签上添加一些css

十大免费杀毒软件大盘点-程序员宅基地

文章浏览阅读1.1k次。1.Fortinet 4.1.0杀毒软件Fortinet,中国用户称之为“飞塔”,来自美国加州Sunnyvale。Fortinet具有多层网络威胁防御体系,在监控水平和查 杀能力上,并不逊于大家常用的其它免费杀毒软件。在如今杀毒软件“免费”大潮的冲击下,“飞塔”也推出了Forti Client免费版,无需任何序列号即可安装并享用全功能:防病毒、防火墙、网页过滤、广域网优化..._杀毒软件带雨

VC++动态链接库(DLL)编程(二)--非MFC DLL-程序员宅基地

文章浏览阅读63次。4.非MFC DLL4.1一个简单的DLL  第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。  如图6,在VC++中new一个Win32 Dynamic-Link Library工程dllTest(单击此处下载本工程附件)。注意不要选择MFC AppWizard(dll),因为用MF..._vc写非mfc dll

【编译原理】语法分析LL(1)分析法的FIRST和FOLLOW集-程序员宅基地

文章浏览阅读542次。  近来复习编译原理,语法分析中的自上而下LL(1)分析法,需要构造求出一个文法的FIRST和FOLLOW集,然后构造分析表,利用分析表+一个栈来做自上而下的语法分析(递归下降/预测分析),可是这个FIRST集合FOLLOW集看得我头大。。。  教课书上的规则如下,用我理解的语言描述的:任意符号α的FIRST集求法:1. α为终结符,则把它自身加..._构造follow集需要用什么函数

随便推点

HttpClient与HttpUrlConnection下载速度比较-程序员宅基地

文章浏览阅读125次。  Android有两套http的API,刚开始使用网络编程时多少有些迷惑到底用哪个好呢?其实孰优孰劣无需再争论,google已经指出HttpUrlConnection是Android更优的选择,并在SDK文档中引用了博客(需要代理访问)http://android-developers.blogspot.com/2011/09/androids-http-clients.html来阐述各自的优缺..._通过 urlconnection 下载 优化

LCD 调试总结-程序员宅基地

文章浏览阅读246次。(1) 液晶显示模式并行:MCU接口、RGB接口、Vysnc接口串行:SPI接口、MDDI接口(2) 屏幕颜色实质上即为色阶的概念。色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的色彩指数。目前彩屏手机的色阶指数从低到高可分三个层次,最低单色,其次是256色、4096色、 65536色;目前最高的为26万色。256=2的8..._lcd屏 刷新频率 测试

MySql安装方法和配置、解决中文乱码-程序员宅基地

文章浏览阅读68次。MySql Server安装步骤1安装MySql Server2 安装MySqlServer管理工具解压中文语言包,将文件复制到安装目录下覆盖文件覆盖后,打开软件设置语言为中文(CN)3 MySqlServer开..._sql2000安装乱码

关于Unity中场景的导入与导出(专题九)-程序员宅基地

文章浏览阅读847次。Unity场景场景虽然是由场景美术做好的,但是我们经常需要自己去导导出以及从别的项目导入,所以我们需要对场景的导入和导出有一个详细的了解1: 场景是由美术人员搭建完成后提交给程序;2: 场景一般包括了地形, 创建物体, 光源, 天空盒,与雾等;3: 场景不包含任何逻辑4: 程序员要能熟练的导入与导出其他项目的场景;场景导出和导入思路把Unity4.X的场景文件..._unity 默认天空导出

linux 绝对路径格式化,相对/绝对路径,cd命令,mkdir/rmdir命令,rm命令-程序员宅基地

文章浏览阅读458次。一、相对路径和绝对路径什么是文件路径?就是文件存放的具体位置,你告诉系统文件位置,系统就能找到这个文件。在Linux中,存在绝对路径和相对路径。绝对路径:一定是从根目录/写起,比如:/etc/sysconfig/network-config/ifcfg-ens3相对路径:路径不是由根目录/写起,比如:先进入到/etc,然后在进入sysconfig,执行结果如下二、CD命令1、命令cd(change..._能不能使用绝对路径rmdir -p /usr/local/itheima/tomcat ? 为什么?

内网穿透教程-程序员宅基地

文章浏览阅读5.3w次,点赞31次,收藏243次。目录内网穿透教程前言内网穿透的方式第一种方式,拥有公网ip方法第二种方式,使用frp方法下载frp工具内网穿透教程前言所谓内网穿透,也即是局域网能够直接通过公网的ip去访问,极大的方便用户的日常远程的一些操作的使用。比如nas的远程访问,个人博客的搭建等等。端口映射概念:见名知意,就是将端口做映射,而这个映射是在不同的IP的端口进行映射,比如下图这个部分有三个需要注意的,第一是外部端口,第二是内部端口,第三是ip地址。或许就有人要问了,不是不同ip下的端口进行映射吗?怎么还少了外部的ip。上_内网穿透

推荐文章

热门文章

相关标签