首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
蒋鹏集美大学
集美大学 机械设计/制造
发布于福建
关注
已关注
取消关注
@蒋豆芽:
Jaime0117-海康威视 C++应用软件开发——解答
从今天起,豆芽有空也尽己所能,帮助一下大家。 面经来源:https://www.nowcoder.com/discuss/746975?source_id=discuss_experience_nctrack&channel=-1 1. C++多态 基类指针可以按照基类的方式来做事,也可以按照派生类的方式来做事,它有多种形态,或者说有多种表现方式,我们将这种现象称为多态(Polymorphism)。多态的实现机制为虚函数。 虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类的同名函数。 方法是在基类中为同名函数添加关键字virtual 2. 内存结构 如上图,从低地址到高地址,一个程序由代码段、数据段、BSS段、堆栈段组成。 代码段:存放程序执行代码的一块内存区域。只读,不允许修改,代码段的头部还会包含一些只读的常量,如字符串常量字面值(注意:const变量虽然属于常量,但是本质还是变量,不存储于代码段)。 数据段data:存放程序中已初始化的全局变量和静态变量的一块内存区域。 BSS 段:存放程序中未初始化的全局变量和静态变量的一块内存区域。 可执行程序在运行时又会多出两个区域:堆区和栈区。 堆区:动态申请内存用。堆从低地址向高地址增长。 栈区:存储局部变量、函数参数值。栈从高地址向低地址增长。是一块连续的空间。 最后还有一个文件映射区(共享区),位于堆和栈之间。 3. 静态成员函数可以直接访问非静态数据成员吗 不能。 当调用一个对象的非静态成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。而静态成员函数不属于任何一个对象,因此C++规定静态成员函数没有this指针。既然它没有指向某一对象,也就无法对一个对象中的非静态成员进行访问。 4. socket编程了解吗 socket是一种特殊的文件。在Linux中,“一切皆文件”,都可以用“打开(open)——读写(write/read)——关闭(close)”的模式来操作。socket就是改模式的一个实现,并提供了一系列对应的函数接口。 我们以TCP为例,下图展示了其交互的过程: 图中展示的交互流程,具体如下所述 : (1)服务器根据地址类型( ipv4, ipv6 )、 socket 类型、协议创建 socket。 (2)服务器为 socket 绑定 IP 地址和端口号。 (3)服务器 socket 监听端口号请求,随时准备接收客户端发来的连接,这时候服务器的socket 并没有被打开 。 (4)客户端创建 socket。 (5)客户端打开 socket,根据服务器 IP 地址和端口号试图连接服务器 socket。 (6)服务器 socket 接收到客户端 socket 请求,被动打开,开始接收客户端请求,直到客户端返回连接信息 。这时候 socket 进入阻塞状态,所谓阻塞即accept()方法一直到客户端返回连接信息后才返回,开始接收下一个客户端连接请求 。 (7)客户端连接成功,向服务器发送连接状态信息 。 (8)服务器 accept 方法返回,连接成功 。 (9)客户端向 socket 写入信息 。 (10)服务器读取信息 。 (11)客户端关闭 。 (12)服务器端关闭 。 涉及到的接口函数如图 5. TCP四次挥手的CLOSE_WAIT状态是在什么时候,出现大量CLOSE_WAIT会有什么影响 第二次挥手时。 大量CLOSE_WAIT影响服务器资源的释放,最后申请不了新的资源后,服务器宕机。 6. IO多路复用了解吗,select有什么问题,1024可以修改吗 IO多路复用:Linux用select/poll函数实现IO复用模型,这两个函数也会使进程阻塞,但是和阻塞IO所不同的是这两个函数可以同时阻塞多个IO操作。而且可以同时对多个读操作、写操作的IO函数进行检查。select/poll会监听所有的IO,直到有数据可读或可写时,才真正调用IO操作函数。 select,poll,epoll都是IO多路复用的机制,I/O多路复用就是通过一种机制,可以监视多个文件描述符(Linux中,一切皆文件,通过文件描述符来标识),一旦某个文件描述符就绪(一般是读就绪或者写就绪),能够通知应用程序进行相应的读写操作。 但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需用户自己进行读写,异步I/O的实现是内核负责把数据从内核拷贝到用户空间,用户直接使用数据,这个过程是非阻塞的。 三者的原型如下所示: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout ); int poll(struct pollfd *fds, nfds_t nfds, int timeout ); int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout ); 总结下select的几大缺点: (1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大 (2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大 (3)select支持的文件描述符数量太小了,默认是1024 理论上1024可以修改 7. 多线程有哪些锁,读写锁有什么特点 (1)互斥锁:mutex,保证在任何时刻,都只有一个线程访问该资源,当获取锁操作失败时,线程进入阻塞,等待锁释放。 (2)读写锁:rwlock,分为读锁和写锁,处于读操作时,可以运行多个线程同时读。但写时同一时刻只能有一个线程获得写锁。 互斥锁和读写锁的区别: (a)读写锁区分读锁和写锁,而互斥锁不区分 (b)互斥锁同一时间只允许一个线程访问,无论读写;读写锁同一时间只允许一个线程写,但可以多个线程同时读。 (3)自旋锁:spinlock,在任何时刻只能有一个线程访问资源。但获取锁操作失败时,不会进入睡眠,而是原地自旋,直到锁被释放。这样节省了线程从睡眠到被唤醒的时间消耗,提高效率。 (4)条件锁:就是所谓的条件变量,某一个线程因为某个条件未满足时可以使用条件变量使该程序处于阻塞状态。一旦条件满足了,即可唤醒该线程(常和互斥锁配合使用) (5)信号量。 以上所有题的答案其实都来源于我的博客面经,欢迎大家围观:https://blog.nowcoder.net/jiangwenbo
点赞 47
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 16:00
上海交通大学 算法工程师
拼多多 / Temu 招商运营 一面
岗位名称:招商运营面试时长:45min–1h自评分:7.5/10是否下一轮:是自我介绍与动机背景三分钟自我介绍研究生专业和互联网不相关,为什么想进入互联网行业?是什么契机让你对跨境电商或平台招商运营产生兴趣?(追问)你是从什么时候开始系统了解跨境电商的?具体做过哪些调研?(追问)如果最终没有进入平台招商方向,你还会考虑哪些岗位?实习经历与个人能力实习中最有成就感的一件事是什么?你主要负责哪些具体工作?(追问)这件工作最终结果如何衡量?有没有量化指标?(追问)如果重新再做一次,你会优化哪个环节?遇到高强度任务时你是如何推进和完成的?(追问)有没有出现过延期或目标未达成的情况?当时怎么处理?行业认...
运营必备题库
点赞
评论
收藏
分享
02-16 10:57
SHEIN_HR(准入职员工)
网易互娱内推,网易互娱内推码
网易游戏-蛋仔派对-数据分析-已复盘自我介绍,重点讲讲你为什么想来游戏行业做一名数据分析师。某天发现《蛋仔派对》的日活跃用户比前一天断崖式下跌了 20%,如果交给你来分析,你的分析思路是什么?会从哪些方面入手排查原因?我们想通过优化新手教程来提升新用户的次日留存率,你会如何设计一个 A/B 实验来验证这个想法?在设计和分析过程中,需要特别注意哪些潜在的问题?你最近玩得最久或者最喜欢的游戏?你认为它在设计上最成功的一点是什么?如果让你用数据来证明你的观点,你会关注哪些数据?我们有一张玩家登录日志表(包含 user_id, login_time),请你说说计算次日留存率的 SQL 思路是怎样的?《...
点赞
评论
收藏
分享
01-23 12:11
湖南城市学院 Java
老铁们,27届想找java实习,这简历行不
求大佬给些建议😘😘😘
奔跑的suechil...:
怎么评论区这么多打广告的 1.项目考虑是两个,可以加个项目
2.bg一般的话,不建议外卖加点评
,99%都过不了简历 3.找项目要么是自己找github好点的开源,要么是评论区找广告去跟着,要么就是星球找项目了 加油友友
点赞
评论
收藏
分享
02-16 10:48
三一重能_机械工程师(准入职员工)
格力电器内推,格力电器内推码
格力电器硬件面经1. 个人背景介绍;2. 单片机最小构成;3. 项目底板有哪些功能;4. 复位原理;5. 电源有哪几种;6. LDO工作原理;7. LDO效率多大;8. 反激变换器;9. 研究生阶段学过哪些硬件课程;10. 工作地点在珠海怎么看;11. 有接触过电机相关的吗;12. MOS导通条件;13. 反问。格力电器26届春招2月6日正式启动啦!企业简介:作为世界500强企业,格力电器现已发展成为多元化、科技型的全球工业制造集团,产业覆盖家用消费品和工业装备两大领域。【福利待遇】人才公寓及家属过渡房、免费通勤班车、无限流量免费电话卡、科技进步奖、周末双休、健康体检、年休假、五险一金及丰富津...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
嵌入式应届生春招怎么准备——从零到拿 Offer 的系统攻略
972
2
...
关于租房
537
3
...
27届实习近一年的年度经历和总结
489
4
...
HTTP 和 HTTPS 区别
462
5
...
agent实习都干什么?prompt设计
318
6
...
美团推荐算法一面
252
7
...
这个简历可以去找暑期实习了吗
252
8
...
大三无实习
251
9
...
追一科技 C++ 一面
240
10
...
得力嵌入式工程师 二面 面经
220
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
13956次浏览
168人参与
#
你最讨厌面试被问什么
#
1264次浏览
26人参与
#
牛客AI体验站
#
17869次浏览
302人参与
#
有转正机会的小厂实习值得去吗?
#
582次浏览
19人参与
#
牛友们,签完三方你在忙什么?
#
137383次浏览
993人参与
#
担心入职之后被发现很菜怎么办
#
282508次浏览
1185人参与
#
如何缓解入职前的焦虑
#
258863次浏览
1451人参与
#
校招第一份工作你干了多久?
#
139403次浏览
609人参与
#
去年的flag与今年的小目标
#
34294次浏览
337人参与
#
牛客租房专区
#
151425次浏览
1479人参与
#
秋招开始捡漏了吗
#
229461次浏览
1044人参与
#
九月了,是考研还是就业?
#
89297次浏览
557人参与
#
秋招投递攻略
#
268791次浏览
2553人参与
#
这份实习,有没有动摇过你的职业方向?
#
2201次浏览
40人参与
#
搜狐工作体验
#
4118次浏览
29人参与
#
机械人求职现状
#
33647次浏览
297人参与
#
我是XXX,请攻击我最薄弱的地方
#
61785次浏览
410人参与
#
用友工作体验
#
18084次浏览
151人参与
#
你的工资什么时候发?
#
57477次浏览
355人参与
#
你的实习什么时候入职
#
348083次浏览
2291人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务