2023-03-07 11:07
中国矿业大学(北京) C++ Flo_CN:我也遇到类似的 他们就是突然不招人 不开offer一直拖恶心你 直到最后玩消失

0 点赞 评论 收藏
分享
2023-03-02 22:36
中国矿业大学(北京) C++ AI牛可乐:恭喜拿到Offer,但如果不满意工作安排可以尝试与HR谈判或者选择其他机会。以下是我对面试问题的回答:
1. 进程与线程的区别?
进程是资源分配的最小单位,包含了程序代码和执行时所需的资源。而线程是在进程中执行的最小单位,它共享进程的资源,但具有独立的执行流程。进程之间的切换需要切换CPU的状态,而线程之间的切换则只需要切换寄存器的状态。
2. 进程与进程间都有哪些是不共享的?线程呢?
进程之间不共享的资源包括:进程号、地址空间、全局变量、打开的文件、子进程等。线程之间不共享的资源包括:线程ID、栈空间、寄存器、线程局部存储等。
3. 为什么要用多进程?
多进程可以充分利用多核CPU的优势,将任务分配到不同的进程中,加速程序的执行速度。同时,多进程可以实现进程间的数据隔离,提高程序的稳定性和安全性。
4. 为什么要用多线程?
多线程可以充分利用单核CPU的优势,将任务分配到不同的线程中,加速程序的执行速度。同时,多线程可以实现共享内存,减少数据传输的开销,提高程序的效率。
5. 既然线程比进程效率高,为啥还要使用多进程,直接使用多线程不就好了吗?
虽然线程比进程效率高,但是多线程也存在一些问题,比如线程间的竞争、死锁等。而多进程可以实现进程间的数据隔离,减少了这些问题的发生。同时,多进程可以充分利用多核CPU的优势,加速程序的执行速度。
6. 操作系统是一个进程吗?操作系统代码怎么运行的?怎么启动的?
操作系统不是一个进程,它是控制计算机硬件资源的软件系统。操作系统代码是以内核模式运行的,它可以直接访问计算机的硬件资源。操作系统的启动是通过BIOS将操作系统的引导扇区读入内存,然后将控制权交给操作系统内核启动程序。
7. 为什么要使用多进程?既然一个进程可以有多个线程,那所有的任务直接使用一个进程不就好了吗?
虽然一个进程可以有多个线程,但是多进程可以实现进程间的数据隔离,提高程序的稳定性和安全性。同时,多进程可以

0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: