安恒信息C安全开发实习面试凉经

2023年03月06日 19:40面试

大概讲一下你简历上写的项目(webserver)

你怎么处理你这个服务器的惊群效应?

面试官:方法比较多,比如说加锁可以,每个Epoll事件里面都是有对应的FD的,先抢到抢到这个FD的就先释放锁,然后再去Accpet。没有抢到的就从事件里面移除。

可以研究一下Linux内核里有一个标记位叫WQ_FLAG_EXCLUSIVE可以解决惊群现象。

我一个客户端在连你的web服务器如果那个客户端掉线了。服务器会怎么样?

我客户端我请求了你服务器的页面对吧,那怎么知道服务器已经响应结束了呢?就是基于HTTP来说。客户端发一个 get请求请求你的页面,客户端怎么知道响应报文结束了呢?

面试官:这个响应包结束根据的是,

第一个是看响应头有没有Content-Length,有的话就表示响应报文消息主体的大小。

第二个是HTTP协议还支持使用Transfer-Encoding字段来传输变长的响应报文,例如使用分块传输编码(chunked)方式。这种情况下,服务器会将响应报文分成若干个大小不等的块进行传输,每个块都以该块的大小开始,以0长度的块结束。客户端在接收到一个长度为0的块时,就知道整个响应报文接收完毕了。

稍微讲一下TCP四次挥手状态机

你的这个webserver服务器代码量是多少

想想你在写这个web服务器的时候有遇到内存泄漏或者是死锁、程序崩溃或者其他问题吗?

客户端跟服务器本来是都访问的通的。然后突然间访问不通了,有哪些可能性,可以从七层模型来分析一下。

面试官:程序死循环僵死了(应用层),半连接队列满了(传输层)、交换机设置了VLAN包过不去(链路层)、网线松了(物理层),防火墙设置了客户端IP(网络层)

说一下大端和小端是什么意思

进程的内存分布

多进程和多线程的主要区别是什么?

进程和线程的可靠性哪个更好

反问

实习生主要做什么?

面试官:实习生主要是对产品的了解。我们是做web应用,应用防火墙,我们涉及到转发跟代理还有防护, 然后可能会让你学习功能文档。首先是对代码,对那个这个功能了解,等你成长到一定程度的话,会让你去写些功能。然后还有就是对我们产品的维护。

根据刚刚面试能给我一点建议吗?

我感觉你是有点紧张的,我建议你后续多多的去那个沟通还有去锻炼一下,因为嗯面试紧张会导致发挥不了你的实力的。

​ 我看你是计算机专业的,应该研究算法或者代码这些。但是我关注的并不仅仅是写代码的能力,我我关注的可能包括你对网络知识的一些了解。我们这个web防火墙比较关注的是TCP协议的掌握,包括三握四挥,还有他的连接状态,都是必须要掌握的。然后其实还有一些,因为今天会时间比较赶,比如说对比那个滑动窗口啊,拥塞机制啊那些我就没怎么问了。

​ 你可以看一下Nginx的代码,你这个web服务器可以参考一下里面的实现。

你们加班的话一般加到几点啊?

我们是平时应该是我们应该说是早上八点半到下午五点半吧,一般来说七八点就下班了,有可能六七点。实习生的话,我们不会太强求。然后你是研究生的话,实习工资应该是4500到5000左右

#软件开发2023笔面经##实习#
全部评论
楼主答上来几个,为啥是凉经?
1 回复 分享
发布于 2023-03-16 13:58 江苏
1
点赞 回复 分享
发布于 2023-11-02 12:27 湖南
老哥你的学校是随便选的吧
点赞 回复 分享
发布于 2023-07-18 00:21 浙江
投完多久约面呀 今天刚投日常实习
点赞 回复 分享
发布于 2023-03-22 22:29 江苏

相关推荐

昨天 20:22
重庆大学 Java
字节暑期刚入职四天,因为是年前,所以很多正职都放假走了,也就没有给我分配mt,然后有一个老哥在我来的时候给我发了一个landing手册,然后还有关于部门业务的白皮书,还有一些业务代码。然后本人是java面的,进来第一次接触go语言 前面几天熟悉了一下go的语法和go的框架,可以读但是还不太会写,然后业务白皮书也看的很头疼,包括landing手册里要了解的很多东西说实话我看文档真的快看死了,一个嵌套一个,问题是我还完全不知道咋用这个我了解的东西,还有就是那个项目代码,那个老哥喊我去写写单测,熟悉一下go的语法,但也进行的很困难(这是我第一段实习,之前都是springboot那一套,真不太熟悉这个)想问问大家的建议,就是我从现在开始到在开年回来之前应该做些什么,我目前就一个想法 就是复现一个landing手册上的go框架小项目 就是相当于帮自己锻炼锻炼怎么写go 或者各位大佬有没有更好的锻炼go语法的建议还有就是大家都在说vibe coding,那我应该怎么锻炼自己使用ai的能力,感觉我除了给一些需求然后它给我生成代码,好像就没别的用法了,那些什么工作流、拆解、skill啥的都不知道从哪一个地方开始,包括我现在正在实习,不知道精力该怎么分配,去网上想找找关于agent开发的一些学习流程,说实话,众说纷纭,有的是从python开始打基础然后系统学那些rag prompt langchain mcp等等,有的是说直接找一个github上的ai项目然后反复问ai,我确实有点迷茫,恳求各位大佬能留下你们宝贵的建议,我一定认真反复深刻学习有一说一 我觉得字节饭挺好吃的!
Jasonnnnnn...:直接把项目代码喂给AI然后让它帮你分析,如果组里已经有一些流程图总结的话最好,没有的话自己画一个 Go的话其实只要把基础语法搞明白就行了,项目里很多都是直接让ai帮你写好然后自己稍微改下,不用学的特别深 ai的话,可以自己写一些md文件来搞点小东西,但除非你打算转算法,否则不用把rag langchain学的特别深,了解下就行了
字节跳动公司福利 1371人发布
点赞 评论 收藏
分享
评论
9
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务