2024面经总结 - 滴滴暑期实习二面

这个只记录了一部分,简单总结一下
1、STL容器中vector的push_back是如何实现的,做了哪些操作,见图一
2、什么是深拷贝,C++中如何实现深拷贝,见图一
3、map与unordered_map的区别,见图二
4、小顶堆是如何实现的,弹出堆顶元素之后,堆里做了什么调整,见图二
5、TCP协议有四层有哪四层,见图二
6、wifi在网络结构中属于哪一层
    在TCP/IP网络模型中,Wi-Fi主要在网络接口层
7、应用层协议一般有哪些
    HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)、DHCP(动态主机配置协议)、SSH
8、gcc编译C++代码分为几步,见图二
9、vim 操作
    查找,/关键字,删除一行,dd,撤销,u,复制,yy,粘贴,p
10、MySQL中primaryKey与index有什么样的区别,见图三
11、索引的优点,使用场景,见图三
12、有索引和没索引之间检索的区别,见图三
13、Java的原生数据类型
    int、short、long、char、boolean、byte
14、如何把int的第n位,置为1,见图四
15、如何把int的第n位,置为0,见图四
16、Java和C++如何实现多线程
    Java实现多线程的方式:
    1. 继承Thread类:创建一个新的类,该类继承自Thread类,然后重写run()方法,
    将需要并行执行的代码放在run()方法中。然后创建这个类的对象,并调用其start()方法来启动新线程。
    2. 实现Runnable接口:创建一个新的类,该类实现Runnable接口,然后重写run()方法。
    然后创建这个类的对象以及一个Thread对象,将前者作为参数传给后者,然后调用Thread对象的start()方法来启动新线程。

    C++实现多线程的方式:
    C++11标准库中包含了thread类,可以用来创建和管理线程。
    使用thread(func)创建一个新的线程,该线程执行func()函数。
    然后调用t.join()来等待新线程结束。如果不想等待,可以调用t.detach()来让新线程在后台运行。
17、实习时长
没反问。
全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
5 15 评论
分享
牛客网
牛客企业服务