智汇浏览器C++实习一面凉经

1.自我介绍
2.介绍项目背景
问了项目是因为什么缘由开始开发的,是学校组织的,还是自发开发的
3.C++的基本数据类型
答了int之类的
4.int类型在32位和64位操作系统占用的空间大小
答了在32位VS2022上面是4字节,在64位Ubuntu上面是8字节
实际上在64位的Ubuntu24.04系统上也是4字节的
5.浮点类型表示小数出现不精确的问题是因为什么导致的,可以解释一下底层的原理吗
不知道
6.列举一下STL的常见容器
答了vector之类的
7.讲一下了解的容器的底层数据结构
说了vector和list的底层数据结构
8.map容器的数据结构实现
只答了是使用红黑树实现的
9.智能指针了解过吗,有哪几种类型的,具体使用场景
说了auto_ptr,shared_ptr,weak_ptr
10.share_ptr的底层实现
说了是配合一个计数器类实现的
接下来就是问项目相关的了
11.Boost是如何实现线程池的,大概是如何使用这个线程池的,提供了哪些接口
答了使用了Boost自带的thread_group,提供了任务加入的接口
12.http的底层是udp还是tcp
tcp
13.tcp和udp的区别
答了面经上的
14.流式协议和普通协议的区别
答了报文传输和比特流传输的区别
15.tcp的粘包的问题,如何解决
没说出来
16.rapidjson进行json数据的序列化和反序列化的基本步骤
答了rapidjson的基本用法
17.Boost.asio在windows和linux平台底层的一些区别,你了解哪些,它是如何达到一个跨平台的效果的
答了一个条件编译,说了调用的底层接口是两个操作系统分别提供的系统调用
18.Boost.asio在使用时候的优劣问题,哪些场景适合使用这个库
没说清楚
19.数据库什么时候使用到事务
答了和触发器有关的一些应用,这个问的是真笼统啊,直接给我整蒙了
20.反问

问的东西可太多了,连asio的底层原理都问了,问到后面我都口齿不清了
全部评论
兄弟你不是要上课吗,怎么又面上了
点赞 回复 分享
发布于 10-14 15:53 湖南

相关推荐

1.自我介绍2.const的用法有哪些说了声明全局变量和常成员函数3.static的用法有哪些说了声明静态全局变量和单例模式4.说一说面向对象思想照着面经上写的答的5.动态多态的实现方式答了虚函数和虚函数表6.重载和重写的区别照着面经上写的答的7.说一说智能指针答了auto_ptr,scoped_ptr,unique_ptr和shared_ptr,weak_ptr,从auto_ptr过渡到unique_ptr解决隐式资源转移问题,shared_ptr的底层实现,还说了shared_ptr的循环引用计数问题。8.shared_ptr是线程安全的吗我答了不是,实际上是的9.线程和进程的区别答了Linux的进程到线程的发展历史,然后再说的区别10.线程的同步和进程的通信,写一段伪代码模拟一下死锁场景答了各种方式,他没有挑具体哪种方式的原理。11.Lambda表达式的捕捉列表使用答了=和&的区别12.常用的STL容器有哪些,各自的使用场景顺序容器,容器适配器,关联容器全说了一遍,还把底层数据结构和操作说了一遍,说的我都喘气了。13.项目一的业务功能简单介绍了一下功能,他没有深入去问14.Qt的槽和信号的原理我说和Linux的信号和信号捕捉函数很类似15.槽和信号的使用步骤答了emit和connect16.Qt是如何实现波浪式按钮的,Qt是如何实现悬停移动式卡片的答了用QGraphicsOpacityEffect实现了透明效果,QPropertyAnimation实现了平滑移动效果17.写伪代码实现单例模式,如果要保证线程安全怎么改进,如果这个单例类要作为基类,并且子类继承这个基类也可以变成单例类,要怎么实现就写出了线程安全版本的,他说要达到第三点效果需要使用到模板18.说一下快排和归并排序的思路说会通知二面
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 8 评论
分享
牛客网
牛客企业服务