深信服C++实习一、二面面经(已拿offer)
目前过程如下:
2021.12投递c++开发实习简历
筛选一万年,不知道什么时候凉的。
2022.2投递23届暑期C++开发实习简历 希望这次能给我面试机会吧- -...
2022.3好像暑期变日常额,大哥打电话让我明天电话面。
一面电话面,内容如下:
简单介绍自己 —— 提前背好
面试官好像看我学校只教了C,没问面向对象诶,面试官真好。
C语言:
什么是野指针?(提了句野指针会报错,面试官说不一定emmm)
函数指针和指针函数的区别?
int几个字节? 答:四个。 面试官:不一定是四个。 答:32位环境是四个字节。
一个结构体,里面放了char、long、char、double,问结构体多大?
(我不太确定long和double的大小,想确定一下。面试官:你问我是吧? 啊这。。。 这个答的不好回去再看看。)
答:24 面试官说不对,32位处理器按四字节对齐,然后答了20。如果我想按一个字节对齐该咋办呢?(这个刚好前几天看过) 答:__attribute__((packed))
计网:
讲一下Select、poll、epoll,以及他们的优缺点。(面试官提醒了select轮询开销大的缺点。)
讲一下大端和小端。 (额知道啥回事就是讲不出来,然后面试官改成选择题了。)
怎么判断大端小端?答:使用char*。
char*几个字节? 答:也分编译器环境,32位占4字节。
联合体知道吗?讲一下特点
如何用联合体判断大端小端?联合体有char和int。 (科普变为提问了0.0) 答:赋值为1看char的数据。
操作系统:
讲一下堆栈,以及他们的区别。
线程间的通信讲一下,进程间通信呢?
数据结构与算法:
链表会吗?怎么判断链表有环?答:快慢指针。 (没说完就被面试官打断了。)
讲一下冒泡排序,涉及几层循环?
快排本来想问的,不问了0.0.
项目:五子棋多人对战游戏:
是基于TCP/IP协议做的吗?(这是问啥- -)
讲一下TPC/IP的特点(这是啥- -,难道是说要讲4层模型?)
那你讲一下TCP吧,三次握手讲一下。
了解UDP吗?TCP和UDP的区别?
UDP可以调用connect?(没用过不知道。。面试官给我讲解了:实际可以调用,但是没有握手过程,只是指定了IP和端口。)
传输数据协议是怎么定义的? 答:自己定义的结构体
你的包没有包头和包尾吗?那怎么解决粘包? 答:结构体大小是固定的,每次读固定字节。
其他:
什么时候能来实习?疫情结束后就能来实习是吗?学校流程好走吗?(我不知道啊。。)
进去可能用不到C,可以接受吗?(可以,都可以0.0,现在看明白了语言不重要)
给我介绍了一下后面的流程:还有二面、hr面。
反问:
部门?是做什么的? 安全服务研发部门。平台相关。
我需要了解什么? 了解下Python
看面试官好像很满意诶,幸好有的问题之前见过,面试官也很好会耐心引导问题。
3天后二面电话面,内容如下:
项目相关:高性能社交平台服务器
你是怎样实现登录的? 讲一下token和session?
token过期怎么设置?过期时间存到哪里?
为啥不用session?(答了存在分布式session共享问题)
那其他公司就不用session了吗?分布式session怎么解决共享问题?
你的服务器是用什么搭建的?(答得不好,用的Nginx作HTTP服务器说成Nginx是代理,fcgi应该是网关当时说成服务器,和面试官瞎扯了5分钟,gg)
服务器的网络模型?
select、epoll何时使用他们?
那何时使用poll?
为啥用共享内存?
还知道哪些IPC方式?
其他项目问题就不放上来了,没啥参考价值。。答得不是很好唉--。
许愿HR面。
2022-3-8 更新 HR面
聊了聊个人情况,明天就发offer啦,呜呜呜第一个实习offer。
2022-3-9 offer拿到啦~
#深信服实习##实习##面经##深信服#