360 C++面经

1.静态变量跟普通变量的区别
2.静态函数跟普通函数的区别
3.进程和线程
4.线程间通信
5.互斥锁和信号量的区别
6.传递函数时,传递指针和传递指向指针的指针
7.在函数里定义数组,可以返回该数组名么
8.堆和栈的区别
9.数组和链表
10.链表的逆序
11.链表的内容
12.utf-8和Unicode
13.宽字符

 

一面(问基础知识):
自我介绍;
介绍完开始问基础
排序算法有哪些,复杂度
复杂度相同,快排的优势
讲一下STLvector list 等的底层实现
存放数据量比较大的时候选择vector还是list,数据量比较小的时候呢
栈和队列的区别
死锁的条件
进程线程优缺点
进程通信方式
类成员访问控制方式有哪些(private和protected区别)
常用设计模式讲一下
malloc和new的区别
快排思想
二面:(一面完10分钟左右继续)
进程的状态
死锁的条件,解决死锁的方法
问了三个算法没听过,直接回答不会
讲一下内存管理,自由存储区是什么
malloc内存分配底层操作,用malloc分配内存1k和100M有什么区别
TCP三次握手和四次挥手
三次握手过程中做了哪些准备(没答好)
为什么有TIME_WAIT
设计抢红包算法(一直问问了很多)

1.局部变量,全局变量,分别存在内存哪个位置
2.程序内存的分布,五个部分
3.new,malloc区别
4.数据结构相关问题,闲聊
5.C STL了解,说说vector,list,map区别
6.分析他们的性能
7.TCP三次握手,两次为什么不行
8.TCP,UDP区别
9.进程通信的几种方式(管道,有名管道,信号,信号量,共享内存,消息队列,套接字)
10.分析他们的区别,用于那些场景
11.链表倒数第k个数,程序思路
12.快排思路
没有手撕代码
等了一会然后通知二面
二面技术面,首先自我介绍,然后介绍项目
项目里面有多线程然后一直追问细节,二面一点紧张,答得不好。
1.项目里面用到了C 什么新特性(太抽象,答得很差)
2.堆栈的区别
3.TCP,UDP了解多少
4.B-树,B 树区别和原理,效率,应用场景,写过代码没,项目里面有没有用到(不会,没有用到)
5.项目里面除了vector还用到那些数据结构
6.红黑树

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注