那些我还需要去理解的问题

来华清培训的第44天,真正接触编程第44天,时间过得太快,一个暑假已经过去三分之二,感觉自己还是知道了很多知识,但似乎又止于知道,很多深解答不上来,很多知识联系不起来。对于我来说,可能刚开始接触,到这个程度是正常的,但我深知我不能这样,我也不应该只是这样。我现在必须打鸡血一样的去学,必须厚脸皮的问,不管是简单到极致的问题,只要自己不明白就应该要问,麻烦别人又怎样,不然能怎样。

今天组织了一次模拟面试,虽然自己没有面,但是老师问了好多特别基础的问题,自己根本都答不上来,虽然同学们答得结果也不理想,但我突然意识到,自己如果面试的时候什么都答不上来,还怎么去与技术面试官交流想法,本身就没有什么优势,还怎样让面试官愿意把我留下来。

第一天的博文就写几个老师问的基础问题,根据华清的资料以及网上的解释,写下自己的理解。

1、什么事僵尸进程?

僵尸进程就是已经撤销但仍然占着资源的进程。

为什么会产生僵尸进程?

如果子进程结束之后,父进程继续运行但没有调用wait/waitpid,子进程将会变成僵尸进程。僵尸进程的存在是因为子进程认为父进程会需要子进程的信息。

如何清理僵尸进程?

在main函数内部给SIGCHLD注册一个信号处理函数handler;定义信号处理函数void handler(waitpid(-1,NULL, WNOHANG)> 0), 调用waitpid处理僵尸进程。

2、什么事系统调用?

系统调用是用户进程和内核交互的接口。

3、顺序表和链表的优缺点?

顺序表访问方便,时间效率快,但插入删除不变,浪费空间;链表动态申请灵活,需要的时候才开辟很小的一部分内存,但是遍历起来较慢。

4、时间复杂度是什么?

时间复杂度是一个函数,定量描述了算法的运行时间;一个算法中语句的执行次数称为语句频度或时间频度,语句执行次数越多,话费的时间越多。

5、有名管道和无名管道有什么区别?(管道就是一种通信方式,是一个程序的输出直接连接到另一个程序的输入)

无名管道只能用于有亲缘关系的进程,无名管道是半双工的通信模式,有固定的读端和写段=端,数据只能像一个方向流动,需要双方通信时就要建立两个管道;(当管道中无数据时,读操作会阻塞;如果读进程不读走管道缓冲区的数据,那么写操作将会一直阻塞。)有名管道可以实现两个互不相关的程序之间的通信,可以通过路径名来指出,有名管道是全双工的通信模式,遵循先进先出的原则。(无名管道和有名管道都不支持lseek()操作)。

6、信号和信号量的区别?

信号可以直接进行用户进程和内核进程之间的交互;

信号量相当于信号灯,程序中是一个非负整数,表示状态。其中P操作是表示分配资源,V操作表示释放资源。


又到凌晨了,白天还要上课,开始学习java了,又是新的领域,新的开始,要打鸡血一样的醒着拼!

所以收拾收拾,洗洗睡觉,要是不下雨就早起跑步,一整天都坐在教室身体会生锈。今天就暂时写到这里,还有很多问题需要去理解,这些问题也还需要去深究。等自己不再肤浅的去认识这些问题,而是真正理解了再更新问题,以前觉得C语言很难,现在我也不敢说简单,只能说真的很基础,所以C语言也应该好好去复习。每天要接受新的知识,还是要去回忆之前学过的知识。

作为小白,我深信我会变成大白。有一颗顽强的心,眼里恒死了这一条路,就像所有朋友都相信我一样,我必须付诸实践去实现所有对我的相信。现在的不自信只是现在。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值