面经整理

9月秋招凉经汇总:
概况:从刚开始的定位大厂简历沉池,到后面多个中厂面试一轮游,总结一下最近的一下感受和体会。
LZ是双非硕士,本科专业电子信息工程,研究生专业为信息与通信工程,研究方向是比较小众的结构光深度估计与三维测量。
在6月份开始准备秋招,定位是C++开发。

深信服二面:
上来讲一下你的项目经历,发现是面试官不感兴趣的之后,开始询问一些C++基础
首先是含有虚函数的结构体变量的大小;
虚函数指针是放在成员变量后面还是成员变量前面?

2 linux bash的常用命令,pwd,grep,
gdb调试工具用过没有(不会)
gdb打断点怎么打
我说我用的windows下的VS,那他问windows下的数据断点知道吗

3 一个类中的private 和public 关键字修饰的成员变量在编译之后有区别吗?我说有,他说有什么区别?
static关键字修饰的变量有什么作用

4 匿名函数用过没有lamda 函数

5 C++模板类的作用,讲一下模板类

6 业务相关,有没有写过socket多线程编程(服务端创建流式socket,bild绑定自身端口号和IP,listen开启监听模式,客户端创建socket,客户端发起connet请求链接。服务端accept接受链接,双方建立通信(recv & send)互相发送信息接受信息)四次挥手结束,双方close关闭连接。

7 进程通信的方式,讲一下消息队列,信号量,
8 讲一下线程锁的概念,自旋锁,读写锁,互斥锁
9 IO复用了解过没有,epoll,select的特点

10 TCP为什么可靠?1面向连接,对应头部中的确认号位。 2序号机制 保证接受的顺序是有序的 3超时重传 4流量控制(使用头部控制滑动窗口大小的字段来进行流量控制) 5阻塞控制(滑动窗口)

11 TCP头部中包含了哪一些内容? 目的IP地址原IP地址,序号字段和确认号字段,确认标志符号,控制滑动窗口大小的机制

12 OSI七层模型和TCP/IP四层模型(物联网舒惠试用) (物理层,控制传输线路上的物理特性)

13 如何./a.sh xxxx //答案是美元符号进行处理
使得输出为 xxxx
好像是$?

14 多线程之间的通信,编程有没有相关的经验

15 http 和https的区别:
两个都是应用层的协议,区别 1端口号不一样 2 保密性不一样 3 https需要ca整数需要收费

16 http请求方法有哪些? get和post请求

17 编程题: 二叉树的最小深度,分割无重复字串, 有序数组的去重

18 场景题目: 一个海量的单词库,有大量的单词,要判断这个单词是否在海量的单词库中?

19 C++ 中函数和变量遍历之后存放在哪里?总感觉这个问题问得很奇怪

20 奈奎斯特采样定律,为什么采样信号必须大于最频率的两部?

21 static关键字的用法,在哪一个设计模式中最常被用到(单例模式,一个类别只能创建一个对象,通过什么控制? 1 私有化构造函数,2设计类的静态成员指针和静态的结构,3只能通过公共话的静态的接口来创建单例。单例的应用场景,比如系统的任务管理器,游戏中的很多单一的角色,场景值等)。

22 内存之间的状态以及状态的切换,以及在什么情况下回发生状态的切换

23 进程调度算法

24 内存调度算法(SJF,FIFO,STF,多级反馈队列,时间片轮转),在这之前呢,先了解一下页表和页框的区别,块表概念以及对应的作用

25 工厂模式,为了防止在创建多个对象的情况下的管理混乱,创建一个工厂类,并通过工厂的接口来创建对象

26 百万级别的URL, 设计一种方案能够对齐去重

27面向对象的编程思想的三大特性(封装将事务抽象为类,事务的属性抽象为成员变量,事务的行为抽象为成员方法,继承保证了代码的重用和属性传递,多态保证了类的多样化,同一个的父类指针管理多样化的子类的对象)

28 静态链接和动态链接。

29 什么叫做数据断点(用于检测任意变量,包括类中或者结构体中某个成员变量的值发生了变化,如果此时设置了数据断点,只要该变量的值发生了变化就会触发数据断点,导致程序中断,用于debug,查找莫名其妙的改变值得变量,用于锁定隐藏的bug,以及通过对堆栈信息梳理逻辑漏洞)

30 编程题 合并有序链表 最大无重复字串 删除二叉树的指定节点 二叉树的层次遍历 大根堆小根堆建堆

31 中兴的一面和二面;在校表现,对中兴的看法,对长沙的了解,考研的选择?为什么不读博? 你的优点和缺点,你的老师和同学们怎么看待你。

32 进程,线程和协程的区别和概念
1进程是系统进行资源分配的基本单位,进程是CPU调度的基本单位
2 不同进程有各自的地址空间,进程之间的通信需要考(进程间通信的方式实现) 同一个进程內的线程共享进程的地址空间,包括静态变量,全局变量,同时又有自己的栈空间。
线程是轻量级的进程,其能够作为CPU调度的基本单位,使得进程内部的工作机制更加灵活,但是线程还是需要有操作系统进行管理和控制;协程就是一种有用户自己定义的的线程,用户自己定义其消亡,生成。
33 有千万级别的用户,每一个有一个用户号码,现在有一张表用来存放这一个月内登录WPS的用户,假如说现在有一个新的登录用户,输入自己的id的时候,要查询在一个月的时间内该用户是否登录过,应该用什么样的方法。
(PS:我首先说的是使用哈希表,将每一个编号的字段作为键值存储,构造近一个月内已经登录用户的哈希表)然后新来一个用户的ID的话直接查询哈希表
答案是时候用位值操作,第i个id号的标志位存放在第i个位置,相当于说机器学习里面的独热码

34

全部评论

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务