京东春招实习部分面经

    京东一面(C++    1 hour):

一、STL

    (1)、STLlist的底层实现原理是什么

    (2)、list中删除一个元素的操作过程

   (3)、STL中常用的包含keyvalue形式的容器有哪些

二、C++基础

  (1const的常用方式

  (2)指针和引用的区别

  (3share_ptr智能指针的实现原理

三、计网

 (1TCPUDP的区别

 (2TCP传输数据包到对端会不会出现乱序的情况,如何保证数据包顺序正确。

 (3UDP如何实现可靠传输

四、操作系统

  (1)在多线程情况下,使用智能指针,如何保证智能指针的计数不会出现混乱(互斥锁)

五、网络编程

   (1)selectepoll的区别

   (2)epoll底层的实现原理,如何保证大部分情况下效率优于select

   (3) 什么情况下epoll效率会比select\poll

六、数据结构和算法

  (1)设计一个数据结构实现LRU cache,(没手撕),讲解思路(unordered_map+list

  (2ON)时间复杂度,找到链表的中点(快慢双指针)

     京东二面(2 hour+20min):

一、STL

   1、map的底层实现原理是什么?查找的时间复杂度?

   2、unordered_map的底层实现原理是什么?查找的时间复杂度?

   3、vector的底层实现原理是,扩容大小,如何实现扩容操作

   4、allocator了解吗(不了解)

   5、sizeof(string)大小

二、C++基础

  1、虚表的工作原理介绍一下

  2、Class Base{虚函数};//定义一个类,里面定义virtual虚函数,然后用这个类定义两个对象:

      Base a;

      Base b;

       请问两个对象是各自都有一个虚表,还是共用一个虚表。

       楼主回答:共用一个虚表。

       考官:为什么?(虚函数表是针对类的,一个类的所有对象的虚函数表都一样。)

3、虚函数表指针通常存储在类对象的哪个位置?为什么

4、定义一个空类,字节大小是多少?

     楼主回答:1字节。

     考官:为什么空类还要1字节?(考官回答曰:空类占位,空类同样实例化)

5、往空类里面随便加一个函数,比如void函数,输出hello ,该类字节大小是多少?例如:

     class Base {

    void f() { cout << "hello" << endl; }

    };

   楼主回答:1字节。

  考官:为什么加了一个函数还是1字节?

  考官问:这个函数具体存在进程PCB 的哪个段的位置?

6、往空类里面随便加一个虚函数,32位系统,

   class Base {

    virtual  void f() { cout << "hello" << endl; }

  };

  Base  A;

  考官问:sizeof(A)为多大?如果为64位系统,又是多大?

  楼主回答:4字节。8字节

  考官问:这个内存大小具体是谁的大小呢(虚指针大小)。

7、动态链接库和静态链接库的链接时机,预处理、编译还是其他阶段?

8、如果动态链接库A,动态链接库B,里面都有一个名为function的函数,函数名相同,函数具体定义内容不同,程序链接阶段,怎么才能确定链接哪个函数。

三、计网

    1、数据从应用层  到  传输层  到  IP层 到  链路层,每一层涉及的具体的操作有哪些?

    2、TCP  UDP  IP首部多大

    3、TCP拥塞控制介绍流程

   4、TCP的数据包丢包怎么处理。在项目中怎么程序实现的

   5、常用的端口有哪些

   6、服务器方,如果两个进程同时占用80端口,客户端的HTTP报文怎么处理?会报错吗?

四、操作系统

 (1)父进程如何fork一个子进程的,具体过程

 (2)父进程如何fork一个子进程,父进程内部的代码段、数据需要在拷贝一份给子进程吗?如果不拷贝的话,共用的话,内核如何保证他们不会出问题?

 (3)系统调用的最小单元是什么?

 (4)线程相对于进程,独占了什么?

 (5)进程通信方式

五、网络编程

1)文件描述符怎么注册的,什么形式进行存储的?

2)介绍一下epoll的操作流程?三个函数里面的形参

3select文件描述符限制是多少?epoll呢?

4epoll底层实现的主要的数据结构有哪些

5)项目中有没有出现线程池中的线程,出现工作线程很忙的状态,不能及时处理每一个套接字带来的数据?

6)口述线程池的设计过程

六:项目问题。

1GPUCPU怎么交互的,瓶颈在哪?GPU计算的流程是怎么样的?

2)项目中 的优化过程?

七、数据结构和算法

  (1)手撕快排


#京东##实习##C++工程师##面经#
全部评论
智能指针那个引用计数,不应该是原子操作嘛?没有加锁吧…
点赞 回复 分享
发布于 2020-05-14 12:22
感谢分享 收获很多 祝好运~
点赞 回复 分享
发布于 2020-05-13 11:33
这么强的么2hour
点赞 回复 分享
发布于 2020-04-29 09:19
你好楼主,请问“如果动态链接库A,动态链接库B,里面都有一个名为function的函数,函数名相同,函数具体定义内容不同,程序链接阶段,怎么才能确定链接哪个函数”这个问题该怎么回答呢?
点赞 回复 分享
发布于 2020-04-28 18:37
2hour&nbsp;有够窒息的
点赞 回复 分享
发布于 2020-04-27 23:32

相关推荐

评论
5
35
分享

创作者周榜

更多
牛客网
牛客企业服务