头条后台实习面试(二面挂)

因为大四保完研以后没什么事,想找份实习磨炼一下自己,亦或是赚点外快。于是在同学的介绍下,拿到了头条后台开发实习的内推。但因为底子不稳,信念不坚止步二面,在此记录以自省。

先是接到hr电话,声音很好听,约面试时间、发邮件。但我当时邮件里没有写会有几面(郁闷)。

一面:

面试官是个很年轻的老哥,很随和,问的很基础。先自我介绍。

问项目,介绍项目。因为我的项目都是Android和电设的和后台没太大关联,草草了事。

想问我C++,然而并不熟。。。

然后问操作系统,进程状态,进程调度,CPU调度基本单位,进程线程区别等。

接着计算机网络,OSI几层都是什么,TCP/IP几层,http是基于什么协议的,在哪一层,TCP、UDP区别,详述TCP三次握手4次挥手。

接着是手写X到Y的素数个数。

手写N!的结果末尾0的个数,写了一种有0除10的解法,但他说N=10000000,要求优化。提示之下,明白了,只用计算每一个数由多少个2和5组成即可,然而2一定是比5多的,所以只需要计算5的个数即是末尾0的个数。

接着就开始二面:

二面的面试官,感觉很老道,问题很犀利(对我来说。。。)。

介绍自己。

问项目,这个面试官没有打断我,听完了全部。

然后问操作系统,进程状态,CPU调度单位,中断实现机制,软硬中断的区别。为什么说这个面试官很老道,因为如果我有一个知识点没答上来,他会马上想到同样知识点的另一个问题来问我。

计算机网络,IP协议在哪层,ping命令底层用的什么协议,一个ip数据包经过一个路由器之后包里改变了什么,没答上来又问traceroute命令底层是用的什么协议,是怎么实现的。也不知道,后来滚去百度菜知道是TTL(Time-To-Live)发生了变化,traceroute也是利用的TTL耗尽的超时反馈。

注:MAC帧在传输过程中,其MAC帧首部的源地址和目的地址会发生变化。(指明当前物理地址和下一跳物理地址)

然后是算法问题,topK问题(最小堆解决),看代码说C++中变量存放位置,二叉树层序遍历。

面完就没有然后了。。

 

总结一下,还是自己基础太不扎实了,平时没有认真学,也没有深入理解,再加上保研后的懈怠。

不是一个称职的程序员啊~(哭)。

TCP三次握手

三次握手

四次挥手

四次挥手

hashmap解决冲突方法:一般用链表法,用空间换时间。若冲突,就插在冲突位置的链表头部。

DNS:域名系统,万维网上作为域名和IP地址相互映射的一个分布式数据库。

http传送协议:基于TCP,请求一响应模式,http1.0是短连接,http1.1是可以长连接(持续连接)。

进程和线程:①进程是资源分配的独立单元,线程是CPU调度的基本单元。

                        ②一个进程包含多个线程,每个线程共享进程资源。

                        ③线程是轻量级进程,OS中所有操作都是由线程完成。

                        ④线程执行时一般要进行同步、互斥操作。

软中断和硬中断:

--------------------- 
作者:zhangskd 
原文:https://blog.csdn.net/zhangskd/article/details/21992933 

(1) 硬中断

由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包

的时候,就会发出一个中断。我们通常所说的中断指的是硬中断(hardirq)。

 

(2) 软中断

为了满足实时系统的要求,中断处理应该是越快越好。linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间

就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成。

 

(3) 中断嵌套

Linux下硬中断是可以嵌套的,但是没有优先级的概念,也就是说任何一个新的中断都可以打断正在执行的中断,但同种中断

除外。软中断不能嵌套,但相同类型的软中断可以在不同CPU上并行执行。

 

(4) 软中断指令

int是软中断指令。

中断向量表是中断号和中断处理函数地址的对应表。

int n - 触发软中断n。相应的中断处理函数的地址为:中断向量表地址 + 4 * n。

 

(5)硬中断和软中断的区别

软中断是执行中断指令产生的,而硬中断是由外设引发的。

硬中断的中断号是由中断控制器提供的,软中断的中断号由指令直接指出,无需使用中断控制器。

硬中断是可屏蔽的,软中断不可屏蔽。

硬中断处理程序要确保它能快速地完成任务,这样程序执行时才不会等待较长时间,称为上半部。

软中断处理硬中断未完成的工作,是一种推后执行的机制,属于下半部。 
 

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值