神策数据一面
2021.08.31 16:00 -> 16:36
投递岗位:北京 C++后端开发
面试官是个小姐姐,很准时的16:00进入了房间开始面试.
首先手撕算法,反转链表,几分钟就做出来了.
(因为是第一次面试,而且使用的轻雀云给我的是ACM模式的代码,所以一开始我先定义了链表结构和对输入的处理,面试官说你不用写这些,你直接写核心代码,后面才改成了核心代码,所以以后面试时,不管ACM还是核心代码,第一步都是写核心代码)
1.你对大数据了解吗?要不我们先做一道大数据的场景题?给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
一开始想不出来怎么解决,面试官提示小文件时你会怎么处理,我说用哈希,在面试官的提示下,才想到将大文件通过哈希拆分成小文件来做.
2.线程和进程的区别是什么?
3.进程的通信方式有哪些?
4.C语言创建共享内存的函数是哪个?我是用过共享内存的,但是好久没看,已经忘了.
5.操作系统从用户态到内核态都有哪些方式?没背过,就说了系统调用,异常,对一些输入的处理时.
6.让我介绍我的webserver项目.
7.OSI七层协议中,运输层都有哪些协议?
8.TCP和UDP分别适用于哪些场景?从可靠交付的角度出发,举例说明了UDP应用视频,电话,TCP应用于服务器项目.
9.TCP是怎么保证可靠传输的?说了校验和,序列号,确认应答,重传机制,滑动窗口,流量控制,拥塞控制,面试官好像不太满意,后来她提醒从连接性的角度出发,三次握手和四次挥手也都是保证可靠传输.
10.提问.
面试体验还是很好的,在自己想不到的时候,面试官都进行了提示.
2021.09.03 收到二面通知。
#面试复盘##面经##神策数据##C++工程师#