图书推荐
c : 《effictive C 》、《SGI STL源码解析》(侯捷)、《effictive STL》、《深入探索C 对象模型》、《c primer》等
互联网:《计算机网络》、《图解tcp/ip》 、《tcp/ip详解》、《UNIX 网络编程》(想去腾讯官方的小伙伴们最好是看一下这个)
电脑操作系统:《深入理解计算机系统》、《操作系统-精髓与设计原理》、《UNIX 高级环境编程》
数据库系统:《高性能MySQL》、《Redis实战》(我也没读)、《数据库原理及设计》
程序设计和优化算法:《剑指offer》、《数据结构及算法实现》(名称我或许记不太清)、leetcode(我便只刷过100道,算得上大家试验室刷过最小的了)
实战演练:《Linux多线程服务器编程-使用muduo C 网络库》(陈硕) (这书极力推荐,从实操的角度而言处理事情,大家试验室都看了小说的)
别的。。。。
学习气氛
关键讲讲我的经历吧,老师这里需做新项目,我的项目特别少,因此有更多的时间去看书,播放视频;别的同学有新项目,可是她们也抽空余时间去看书,播放视频。基本上夜里9点多才从试验室回寝室吧。在这里或是注重不必单兵,大家本届实验室同学们跟历届师哥一样,抱得比较紧,有什么情况可以相互问,处理的过程当中就可以互相提升了,每本视频课程的学习,每一个人了解水平都不一样,了解的视角也不一样,大家一般都会相互交流,促使所学的知识更全面吧,学习效果还是比较高的。招人这一块,我们一般有哪些招聘职位出来都互相散播一哈,每个人都能第一时间了解到了招聘职位,笔试题目招聘面试都是有同学一起去,没有那么孤独。
简历修改
我个人的见解吧,看一下就可以了。我认为个人简历主要是一页就行,简洁明了,最好第一时间就可以让面试官了解你会什么。全部网页页面整洁、条理清晰就可以了,无需五颜六色的花纹这些(尽量不要外观设计上消耗太多的时间)。除开一般要所写的个人信息表、殊荣、文凭、新项目之外,做技术的同学们,建议就是再弄一个 技术栈的板块出去,例如c 会什么、网络会什么、数据库系统会什么。那样简洁明了,我腾讯官方和美团外卖当场面,我看到的都是面试官本身就是一条一条对着我的技术栈一个一个问的问题。除此之外在关键字的应用上,好好地留意掌握 “掌握”、“了解”、“熟练”,一般建议写“了解”,不是很稳的写“掌握”,大神不建议写熟练,一旦有一个不会,面试官的第一印象受到影响,感觉不足谦逊。相片得话可以贴并不贴。我也没贴,关键人难看。。。非常尴尬。
面试的技巧
坦白说,我个人的技术水平很一般,在实验室我还算排在之后的,试验室巨头过多,从技术上我便跟着学,偷师一波专业技能。我觉得我的优势是面试的技巧上,在面试时,我认为要豉励面试官,别名“抢人头”,本身就是与人交往沟通的一些方法了。
关键在于简单自我介绍,我认为简单自我介绍私人信息不用太详尽,便说个名称 院校 技术专业 就可以。更多信息面试官也看得见,用不着说。假如是计算机类的 好的学校的 提议表达出来,突显一下,给面试官一个好的印象。 随后下边应当立即简洁明了的告知面试官 个人技术栈,给招聘面试指方向。要不然面试官真有很有可能瞎问,问起大会还行,我不会的就很容易远走高飞。在下文能够说你的新项目,大约提一下就可以。
技术栈详细介绍:最先积极正确引导面试官问那相关的问题,在回答问题情况下,有意带一点其它的你能重点知识,可能很多面试官便会突发奇想问你那个锲子。比如说我给面试官详细介绍我项目框架时,提及了epoll,他就问我epoll 和select区别、lt et区别,这都是备好,当然你也就会答得出来。这也算是招数面试官吧。如果遇见面试官询问道问题不容易答,也不要慌张,能够用这种句子:“过意不去,这一我也没太了解,但是我明白和这个相仿的xxx,你看看再给你共享这一xxx的个人体会行吗”,有些面试官便会赞同的,那样不易题型被拉偏。 另外就是假如便是真不知道的,直接就说不知道,这一没有什么的。例如 面试官跟我说 你数据库系统如何? 我一般都觉得,不怎么会。 一般面试官也就不会说了。假如你把握的不太好,你觉得还能够,那他问你结论也不会,就是一直吃 暴伤。。。面试官印像比较差,不如直接说不容易。
新项目:关键要搞清楚清晰,条理清楚,面试官并不关心你的一个项目怎么怎么渣 怎么怎么叼,取决于的人是你对工程的探索和理解吧。
面试经历共享(具体内容不完整,后边也没时间写面试经历了。文件格式不大好弄,手记上copy来的,凑合一下吧-。-)
很有可能还有些有误的区域。
多益网络
1、新项目一部分(似乎对muduo比较感兴趣)
阐述了新项目作用、构架
muduo有什么的精彩地区,说一下。 吹了一下多线程日志的双buf的完成、buf本身的readv 性能
2、基本知识
1、linux IO实体模型(5种) 记不太清,说了几种,应当没说完。(该是:同步阻塞、同步非阻塞、时分复用、数据信号推动、异步IO)应当还需要说关键点
2、静态链接库和动态链接库的区别
3、什么叫线程不安全
4、c 继承和组成 ,为什么优先选择应用组成(这一我也不知道原因)ps:该是组成能够实现和继承一样的作用,但对于成员变量目标,在搭配中一般不会曝露细节上的,就相当于黑盒子,而继承是“黑盒”。
5、何时应用单链表或是序列?(提升、删掉工作频率相对较高的情景)
6、c const的功效? (自变量解析函数两个方面 mutable)
7、百度地图导航如何做到交通路况
8、灭火吹优化算法 可靠性
9、函数公式指针的适用场景、益处。应用于调用函数 虚表指针便是事例
10、你能用什么结构来查看?(hash表、map、 set这种)
11、tcp udp的区别 适用场景
12、什么叫跨站脚本攻击
3、程序编写
数组循环系统偏移 将一个长短为n的数组A元素循环系统偏移k位
例如 数组 1, 2, 3, 4, 5 循环系统偏移3位以后变为 3, 4, 5, 1, 2
4、别的
1、怎样看待加班加点?
2、你爱好是什么?玩什么游戏手机游戏?
3、你最近在看什么书?
4、你还有什么要问我的吗?
腾讯官方OMG团队(见习)
1、绘制tcp头部协议格式。
拓展: udp头部、ip头部、http头部
2、Http的报文格式头顶部
3、数组和指针的区别
(1)数组自身展现出来的就是一个 指针变量定义的 “特点”,即无法对数组的首地址进行调整,运行内存里的详细地址已经是确认了的。而指针自身是一个自变量,他偏向了一个详细地址,这一是能够变动的,也就说他可以马上取值偏向新地址;
(2)当调用sizeof函数时,针对数组,换来的是数组元素个数*基本数据类型大小,但对于指针,换来的是指针种类大小,这一在于设备的个数,例如32位机,相对应的指针便是4字节数大小;
(3)指针对比数组更加高效。
相似之处:例如当做为形参时,界定成 指针或是数组都是一样的,因为这时候传到的基本都是数组的首地址,也就是这样的数组名,体现出来的就等于一个指针。
4、传递数据的形式
值传递、引用传递、指针传
5、c 种struct和class的区别
(1)假如不声明访问限制,class的默认设置管理权限是private,而struct是public
(2)针对继承,假如也未明确是public继承还是private继承或是是protected继承,class
默认设置是private的继承,而struct是public继承。
(3)从抽象化上来讲,class更像对象完成体,而struct更像算法设计的完成体。
6、对象能否是虚函数?
不可以,由于类对象中占有前4个字节数的虚表指针 必须在对象进行以后才会形成,根据 虚表指针才能发现虚函数表,浏览启用相对应的虚函数。假如对象是虚函数,那就只能依靠虚表指针才可以浏览到,关键在于这时那就需要让对象造成出虚表指针。陷入先有蛋或是目前鸡的难题
7、析构函数能不能是虚函数?
能够,并且假如说这一类不是final的,换句话说这个人是某一个类成员变量,那样此类的析构函数一定要虚函数,由于要不是虚函数,那样他的儿子类对象的成员变量构成部分将不能得到释放出来,导致网络资源泄漏。
8、析构函数能不能是纯虚函数?
我认为不推荐是,由于我们都知道纯虚函数是没有实现论的,那样派生类目标在析构时,成员变量构成部分就没有办法释放出来,显而易见不好。可是对于大多数编译程序而言,能将析构函数声明为纯虚函数,之后在类外写纯虚函数的完成体,从语法结构上不容易出错。
9、举例说明一种STL中的器皿
答:例如vector(那时候答得就是这个),vector的的完成本身就是封装形式了一个动态性数组,里有3个内部结构迭代器,各自是start、finnish、end_of_storage。一般通过push_back或是insert插进原素导致超出容积,这时容积会扩大至2倍,这一过程分成:重新配置、挪动副本原素、释放出来原室内空间,这3个大部分,适用随机访问等
10、举例说明STL的一种优化算法
答:例如find、accumulate、next_permutation、unique、position这些
11、如何避免c 库函数被反复采用
答:可以用ifndef或是program once,都能够。可是二者有一些区别。从兼容模式中说,ifndfe更强,有一些老编译程序很有可能不兼容program once;除此之外,针对2个名称不同类型的库函数,但具体内容同样,ifndef还是能够辨别出去,避免反复,program once 不好。
12、内联函数和宏的区别
答:内联函数的进行出现于编译程序期,而宏要在预备处理环节;内联函数本身就是函数公式,而宏并不是;最重要的一点:内联函数会让主要参数开展类型检查,而宏只是单纯的更换,因此内联函数更安全,而往往宏必须对主要参数加括号,可是也不一定安全性, 内联函数拥有自己很明确的修饰符或是访问限制,例如放到类里边的private,而宏是不存在的。
13、linux下命令
答:(1)ls -al 表明文件列表中的全部文件名称信息内容,包含隐藏
(2)mkdir 创建文件夹
(3)cat 查看文件具体内容
(4)cp 副本
(5)rm -rf 删除文件夹(夹)下所有文件夹
(6)find 查找
(7)grep 正则匹配
(8)pwd 表明现阶段文件路径
(9)ln 创建文件联接 -s 软接头
(10)chmod 改动文件权限
(11)netstat -a |grep 查看网络情况
(12)top
14、linux下进程管理的有关指令
(1)ps -e 查询每一个过程信息内容
(2)kill -9 pid 强制击杀过程
(3)top -p pid 查看进程信息内容
15、linux下怎样查看内存、硬盘状况
(1)top
(2)df
(3)free
16、什么叫软联接和硬链接,学生的区别是啥
硬链接要以文档团本引用的方式存有的,他和源代码有着同一个inode连接点;软接头要以途径的方式存有的,他的cnode连接点对应的数据信息块存储是指源代码的路线。学生的区别是指:软接头能够跨系统文件建立,而且还能对文件目录开展建立,硬链接也不行,因此,相对而言,软接头更加高效,删掉软接头不会造成任何影响,但如果源代码被删掉了,那样每一个软接头就不能用了,所以比较像windows中的快捷方式图标。
17、什么是绝对路径什么是相对路径?
答:以/开头便是相对路径,因为她代表着从网站根目录出发途径,相反便是绝对路径
18、进程间通信的形式?
答:慕应雄管路、知名管路FIFO,线程池、共享内存、信号量、socket等,(应当开展简单论述
19、c 下怎样启用C的包?
答:extern “C”,通告编译程序之而涉及到的编码用c的形式进行编译程序,那样联接时不会出错,不然会找不着函数符号。
20、找出来重后英文字母的指令
$ sort test.txt | uniq
21、socket程序编写tcp手机客户端联接全过程
创建tcp协议对象,connect、read/wirte
22socket程序编写tcp服务端联接全过程
创建tcp协议对象、bind、listen、 accept、read/wirte
23、epoll和select的区别?
答:select能鼓励的文件描述符数非常有限,较大1024个,而且每一次启用前都要把它监视的读集、写集、不正确集从用户态向内核态副本,回到之后又副本回家,并且,select回到时是把所有的文件描述符回到,就意味着一旦有一个事件触发,只能依靠赋值的形式才能发现实际是哪一个事情,高效率非常低、花销也非常大,可是也是有好处的,是他的请求超时的单位为分秒等级;
epoll能鼓励的文件描述符数非常大,能够过万,它的高效率由3个组成:二叉查找树、双向链表、调用函数,每一次将监视事情拷到核心以后就存放二叉查找树种,以EventPoll的建筑结构存有,假如有明确的事情发生,相对应的调用函数便会开启,从而就会把该事件副本至双向链表中回到,并且,epoll每一次返回都是有一定事情发生事件,非是全部时长,因为比较高效率,总体来说epoll适用线程数比较多,活跃性数较小的情景、而select适用线程数很少,但大部分都活跃性的画面。
24、同一个IP同一个端口号能同时创建tcp和udp的联接吗
答能够,同一个端口号尽管udp和tcp的端口号数是一样的,但本质她们是不一样的端口号,所以也是没影响的,从最底层本质剖析,对于每一个联接核心保护了一个五元组,包括了源ip,目地ip、源端口目地端口号、及其传输协议,在这儿虽然前4项都一样,可是传输协议是不一样的,因此核心会称之为2种不同连接,在ip层便会开展逐渐分离,tcp的走tcp,udp走udp。
25、mysql的建表、删除表、更新表、查询表用什么命令
答:Create|Drop|Update|Select TABLE [表名]
26、mysql的索引有哪些种类?
答:(1)一般索引 CREAT INDEX [index_name] ON table(column(length))
(2)唯一索引
(3)全篇索引
(4)单排、几列索引
(5)组成索引
27、索引优缺点,索引是否愈多愈好?
答:主要是能够有效的减少数据库的查找时长,创建索引的列可以确保行唯一性,能够加速表与表中联接;可是建立索引、维护保养索引必须时间与空间成本费,每一条索引都需要占有数据库储存空间,除此之外,每一次的增删改都要对索引开展动态性日常维护,也会造成时间延长。
28、索引的使用场景
答:(1)数据量大的而且查看工作频率强的理应应用索引
(2)表与表连接后的联合查询,约束的字段名应当创建索引
(3)用以排列的字段名可以用索引
。。。。。
29、索引的基本原理
答:以空间换时间,创建索引以后,会把索引的KEY值放在一个BTree上,这样的方式是一种n分法,btree适宜于硬盘上动态性查找表,每一次以索引开展搜索时,会依据key值开展检索,logn级其他。
腾讯官方天美工作室(见习)
1、hash表应用开链,里边的单链表太长反映了什么?
答:hash函数定制的不太好,造成矛盾比较严重,从而导致同一个“桶”里的单链表数量增加。
2、c 无法被继承的类
答:(1)、能将对象放进到private里边,那样是很难结构出子类对象的,与此同时提升一个static的 get instance的函数公式,来启用对象。(但这样无法得到一个栈里的对象)
(2)、让此类去虚承继一个模板类,传承人的模具种类便是此类,促使此类变成模板类的友元,那样子类在构建时,他立马先结构先祖类成份,显而易见他并不是友元,因此不成功。
(3)、使用c 11新增加的final关键词,促使声明的类是一个最后类,难以被承继。
3、什么是字节?
答:电子计算机在同一个时间可以解决的一组二进制数称之为计算机一个字,这一组二进制数的个数便是字节,但是现在电子计算机有16位、32位、64位等。
4、计算机分布式存储?
答:分成运行内存和外存储器,在其中运行内存有主存、cache、存储器等,外存储器分成硬盘、光碟等
5、static关键字的功效,储放部位
答:static关键字有防护掩藏功效,例如好几个cpp文件,如果把局部变量申明为static,那么这个自变量仅对该文档由此可见;变量声明为static,能够导致这一系数的生命周期是所有程序结束;除此之外,c 类中的staitic 声明的自变量解析函数表明都属于类的属性,而非对象中的一员。未初始化的放到bss段,复位的放在data段中。
6、堆和栈的区别
答:
从管理模式上,栈是由编译程序自动管理,不用大家手动操作;
针对堆,开拓和释放出来工作由程序猿操纵,因此有内存泄漏等问题的产生。
从申请办理尺寸上,栈是有较高详细地址向低地址扩大的,是一块连续不断的内存区域,因此栈的栈顶详细地址或是尺寸 是一开始就定好的。在使用中,例如递归函数叠加层数太多,那就有可能导致栈溢出,因此栈可以获得空间特别少;堆是向高详细地址拓展的,是单链表机构的形式,因此可能是不连贯的,它的尺寸只受制于高效的虚拟内存设置尺寸,因此堆能开拓空间比较大。
从残片这个问题上,栈是并没有残片的现象,因为她有严格出栈入栈,不会出现一个内存块从栈的中心位置弹出来;堆有残片的现象,频繁地调用new/delete分派增加内存,势必会导致内存碎片。
从分配方式上,堆全是动态分配的栈基本上都是静态数据分配,还可以动态分配,需要由alloc函数分派。
从分配效率上,电子计算机会在底层对栈给予支持,例如有专业的存储器分派,用于储放栈地址,压栈出栈的命令等;堆是通过c/c 库函数所提供的,体制较为复杂(未了解)
7、struct和class的区别
答:这在OMG招聘面试之中发生过。
8、malloc和new的区别
答:最大的一个区别取决于malloc只是单纯的分派了存储空间,而new在调整了存储空间以后启用了对象的对象。详尽的见:new和malloc的区别,或是delete和free.note
9、引入和指针的区别
答:引入是一个已经有对象的别名,指针是一个详细地址,从非空性中说,引入不能为空,指针本身是个值,能够为空;在编号时,对引入并不需要分辨,但对于指针,我们应该并对非空性作出判断;当偏向的对象可能会在发生变化情况下,通常应用指针,而引入一定固定。
10、map的最底层完成
答最底层是二叉查找树达到的,它是一个比较均衡的检索二叉树,内部结构井然有序,因此在搜索和删除掉情况下较为高效率,算法复杂度是logn
11、tcp的三次握手流程和四次挥手全过程
答:这一建议把调用函数的现象加上进来表明。详尽:TCP建立联系三次握手和释放出来联接四次挥手.note
12、c 多态性的建立基本原理
答:c 多态性主要通过虚函数表达到的,c 多态性的一种体现,主要通过成员变量指针偏向一个子类对象,这时启用的函数公式便是子类的函数公式,展现了泛素化,毕竟在启用环节中,根据钱4个字节数的虚表指针找到虚函数表,这时因为具体对象是子类对象,那样其虚函数表是子类的虚函数表,针对同一个虚函数,子类的虚函数可能遮盖掉成员变量的虚函数,搭建出自己虚函数表,因此这时根据虚表指针浏览摆的虚函数便是子类的虚函数,这便是c 的多态性的一种体现。
13、c 对象的内存模型
答:在存储空间中,前4个字节数代表着其虚表指针,偏向是指子类的虚函数表,下面储存的是成员变量的对象中的一员,再是子类组员一部分。
14c 的内存模型
答:运行内存分成5个段,从低详细地址往高地址,一次是字符串常量、数据段、bss段、堆、栈。随后balabala。。。。
15、滑动窗口的功效
答:主要是要实现流量监控,控制住了推送包的速度,每一次发送方只有推送滑动窗口的内部数据文件,才能保证接受方也不会因为推送太快导致总流量吞没,数据文件的遗失。它的尺寸是 拥塞窗口和通知对话框 二者的极小值。
新项目
1、如何做到上传下载,怎样提高提交速
优化算法
1、计算表达式 (改为后缀表达式进行修复)
2、微信朋友圈难题,求一共一共有多少个微信朋友圈 (应用并查集)
3、单链表反序 (挥剑offer上有,但如果不更改内存结构,那只能更改值,应用栈开展储存)
4、一个二维数组找中位值(根据灭火吹观念,常量级许多次求position,直至恰恰是核心,算法复杂度是O(n),假如是海量信息呢2g数据,500运行内存怎样处理?->hash之后分为小文件,再外界排列,应用合并,可以用最大堆,直至数据信息一半以上)
腾讯官方SNG(见习一面)
只经历了20min,好像招聘者比较忙。
1、系统进程和函数库有哪些区别和联络
2、epoll和select的区别
3、epoll的高效率,有多种工作方式( LT、ET)
4、TCP 和 UDP的区别
5、TIMEWAIT是哪些,为何要设定TIMEWAIT情况
6、TCP的稳定性是怎样达到的?(流量监控、拥塞控制、确定编号、校检???)
临时想不起来了。
oppo(一面)
最先介绍项目,我给他介绍了一下这个项目的构架,作用。
难题1:大家觉得这个项目的难题是哪儿?(懵圈了)
答:难题到不多,能够说一下学到了什么,提升什么,例如传输数据协议书使用了protobuf,迅速,安全系数高、信息量还小。
难题2:io重复使用和多线程io有哪些区别?
答:IO重复使用实际上一种同歩IO,他只是把事件通知统一交给select或是epoll,因此,针对IO重复使用,实际上Select或是epoll在检验可以用的时候是堵塞的,里边的读写能力一般也是堵塞的,而异步IO一般不会堵塞的,数据信息从内核态拷到用户态缓冲区域结束后,***作系统将推送数据信号,通告过程解决,这一过程进程是能够执行的,就是这个多线程io。
难题3:多进程跟多线程有什么不同?假如给你一个需求场景,你是如何挑选多进程可以多线程?
答:多线程分享同一个地址空间,带来的收益是他们开展通讯方便,能通过局部变量等,但还是有安全隐患,必须解决好市场竞争难题,而且一旦一个线程崩开了,全部过程就去世了,危害别的过程。多进程反过来。。除此之外,线程的建立花销还小。多进程的画面举例说明:比如你要开展服务器转移,多进程得话,可以将某一过程迁移到其它的服务器,影响不大,可是多线程无法转移。
难题4:讲一讲c 的虚函数表呢?
答:c 的多态就是利用虚函数表来完成的,该表有在编译程序期形成,储放在rodata段,我们都知道一个类的对象的内存结构是原4个字节是其虚表指针,即vptr,偏向了该虚表,虚表上装的便是此类的虚函数。c 多态的一种体现,通常是根据成员变量表针,偏向子类目标,我们不难发现启用的虚函数是子类的虚函数,而非成员变量的是因为这时的目标是子类目标,其虚表是子类的虚表,这其中的同名的虚函数早就在编译程序期就被遮盖成子类的虚函数了,因此这时启用是指子类的虚函数,多态就是如此展现的。
难题5:对象、析构函数顺序,为何析构函数是反方向的?
答:结构:先父类再子类; 析构:先子类再成员变量。 这是c 规则。
正中间 进行了一套笔试题目,各式各样都可以的。
程序编写/优化算法
1、一个文档混乱储放了1w个数据,每排1个。数据范畴1-1w,如今任意删掉2个数据。请将他们2个搜出来。
答:应用hash数组,赋值文档,每赋值到一个数字,便以该数据为下标底数组元素置1,无需加1,由于数据不重复。接着再赋值一遍二维数组,数值0元素的字符便是所愿数据。
2、怎样对自己的办理的运行内存进行改善?
答:能使用bitmap,每一bit能够代表一个数字,这可以缩小运行内存。
3、压缩系数多少钱?
答:每个bit一个数字,而此前二维数组一个元素是int类型的,占32位,因此压缩系数是32倍。
4、什么场景用bitmap?
答:我讲数据信息比较聚集,并且你这儿信息是持续不能重复,就合乎,所以你的信息是有区域范围。
5、倘若数据信息有相同呢?
答:可以用2-bitmap,00代表没有出现,01代表发生1次,10代表发生2次,11表明无定义,那样赋值一遍就能找到是哪几个数据
他回答:并不是,例如数据3,实际有多少个发生,这一这就需要懂的。 我讲:10bit能够表述的数有1024,但你每一个数据不太可能超出1w次。所以一定要纪录频次得话,就还是用bitmap但不是1位,大约1数量用14bit吧,但相比32位一个数要好点。
oppo二面
2、详细介绍usb的新项目、作用、构架
3、这个io重复使用实体模型和普通的多线程、多进程的差别
答: io重复使用,好几个连接重复使用一个线程,而一般多线程是一个连接一个线程,因此必定建立线程的数量就会多,现成建立也是有花销的,所以io重复使用这类花销小。
4、数据传输的信息协议书
主要包括3个段,前8bit是数据信息type,正中间是length,结尾是实际的data。
5、假如协议书都是这样。如果两个数据文件连在一起,如何分离?
答:在第一部加上好多个bit,做为防护位。
6、如何做到你的fd是web服务的
答:分类处置
7、好几个客户浏览同一个网络资源,怎样上锁
答:不太明白他的意思,epoll内部结构处理程序是同歩先后实施的,并且这儿的锁是线程网络资源
8、tcp是怎样处理粘包?
9、tcp是如何关闭的?也就是说4次招手全过程
10、假如tcp取消的第四个分节没被接到,这么该怎么办?
11、tcp的拥塞控制全过程
12、delete和free的差别
13、STL的诞生到底为了什么
14、STL的迭代器的种类有哪些种类?
15、STL hashmap的完成?
16、线程间同步方式
17、进程间通信的形式
18、怎么使用信号量制做出一个互斥锁
19、系统进程的回到有什么不同?
20、描述一下异常中断的一个过程
21、c 多态是怎样达到的?
22、c 多继承是怎样完成?怎样处理同名的自变量
23、如何完成无锁***作
24、你评价一下你。
25、你觉得你同学朋友如何看待你?
26、我对什么技术性有兴趣?
27、参加了什么社团活动
28、你咋融洽与他人联系的?
29、你有什么样的要问我的吗?
百度云盘一面
1、C 多态的完成
2、多重继承下,好几个成员变量带有同一同名函数,子类目标启用会有问题吗?
答:最先 AB2个成员变量里的函数公式假定就是普通组员函数f(),那样子类C没有自己f函数,其目标c.f()的时候会出错,编译程序出错,存有二义性。假如C有着自己的f函数,这时不容易出错,启用的是自己c类的f()函数公式,换句话说这时成员变量的函数公式便被掩盖了。假如AB中的f()是虚函数,那样也影响不大,或是调c的。要是2个f的参数类型也不一样,还会报二义性不正确。(怎么回事?)
3、static自变量
4、tcp三次握手 、2次、4次?
5、tcp稳定性的完成缘故
6、滑动窗口的功效
7、分子***作如何做到(锁、cas***作)
8、如何做到一个互斥锁,互斥锁的建立基本原理
想不起来了
笔试题目:
独特单链表(每一个连接点带一个任意表针),对于该单链表开展拷贝,导出复制后新的单链表。(挥剑offer真题)
百度云盘二面
1、socket和epoll的关联差别?(搞不懂他含意,总之对epoll的最底层展开了论述)
2、二叉查找树是线程安全吗
3、有什么同歩方式
4、使用过哪一种锁(mutex)
5、读写锁接触过吗,自身完成一下,明确提出构思就可以(对读***作开展记数)
6、记数如何控制线程安全性?(cas***作、***作系统软件最底层命令适用)
7、vector的插进pushback的算法复杂度多少钱(O(n))
8、如果vectorpushback的情况下扩充了,例如pushback n个数,算法复杂度多少钱?(我给他讲述了内存拷贝的一个过程,却不知道怎么求,他回答说:其实是一个等差数列,最终求取或是O(n))
9、vector最底层是好多个表针达到的(3个 start、finish、end_of_storage)
10、vector扩充好几倍 (SGI STL的vector是2倍)
11、c 多态的完成(run time的多态:表针或是引入 融合 虚函数表完成)
12、c 11 move语意解释一下
13、 move除开用以表针,还可用作什么?例如什么算法设计 (vector)
14、取过什么offer
想不起来了。。。
360二面
1、使用stl如何控制线程安全性(除开锁之外)
2、交给sub 线程的文件描述符怎样回收?
3、tcp粘包
4、linux下查询数据连接
5、linux下查看内存cpu (top)
6、linux下查询内核版本 uname-a
7、linux下查询发售版本号 cat /etc/issue
8、IO和reactor模式 (吹的select和epoll)
9、linux下 过程cpu占用是如何计算出来的(大概是:根据/proc/stat 载入CPU总的时间也,然后通过/proc/pid/stat下载入的进程占用时间,做乘法。(较为粗略地的论述))
10、linux下 tmp文件目录里面的东西能被消除吗(会,系统将实行tmpwatch脚本制作,一般传入参数只是时间,例如 tmpwatch 10 /tmp/ 表述的就是容易删掉10天之内并没有改动、浏览文件。)
11、如何查询动态性依靠的库有什么?(readelf -a [程序名] |grep library)
腾讯官方IEG魔方工作室(个人简历面)
tcp udp 手机游戏
器皿线程安全性
hashmap完成
新连接 什么时候申请注册写事情
主线程如何把fd交给sub线程?
为何这一调用函数在函数公式实行,是线程安全?
rehash
多线程,多进程差别
转换性能耗损
strncpy
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。