真景科技C++实习岗位一面

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和connect
16.Qt是如何实现波浪式按钮的,Qt是如何实现悬停移动式卡片的
答了用QGraphicsOpacityEffect实现了透明效果,QPropertyAnimation实现了平滑移动效果
17.写伪代码实现单例模式,如果要保证线程安全怎么改进,如果这个单例类要作为基类,并且子类继承这个基类也可以变成单例类,要怎么实现
就写出了线程安全版本的,他说要达到第三点效果需要使用到模板
18.说一下快排和归并排序的思路
说会通知二面
全部评论

相关推荐

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_ptr10.share_ptr的底层实现说了是配合一个计数器类实现的接下来就是问项目相关的了11.Boost是如何实现线程池的,大概是如何使用这个线程池的,提供了哪些接口答了使用了Boost自带的thread_group,提供了任务加入的接口12.http的底层是udp还是tcptcp13.tcp和udp的区别答了面经上的14.流式协议和普通协议的区别答了报文传输和比特流传输的区别15.tcp的粘包的问题,如何解决没说出来16.rapidjson进行json数据的序列化和反序列化的基本步骤答了rapidjson的基本用法17.Boost.asio在windows和linux平台底层的一些区别,你了解哪些,它是如何达到一个跨平台的效果的答了一个条件编译,说了调用的底层接口是两个操作系统分别提供的系统调用18.Boost.asio在使用时候的优劣问题,哪些场景适合使用这个库没说清楚19.数据库什么时候使用到事务答了和触发器有关的一些应用,这个问的是真笼统啊,直接给我整蒙了20.反问问的东西可太多了,连asio的底层原理都问了,问到后面我都口齿不清了
点赞 评论 收藏
分享
6 17 评论
分享
牛客网
牛客企业服务