首页 > 其他分享 >面试题1

面试题1

时间:2024-01-31 11:12:53浏览次数:28  
标签:fork 面试题 sleep && 进程 hello

面试题

问题:下面这段代码会输出多少次 hello ?

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void test() {
  fork() && fork() && fork() && sleep(10);
  printf("hello\n");
  exit(0);
}

int main() {
  test();
  return 0;
}

先说下答案:4 次

我本地测试的结果:

hello
hello
hello
# sleep(10)
hello

解析

这道题的考点是 fork 函数和 && 操作符。

  • fork 函数用来复制一份主程序,即创建主进程的子进程。一次 fork 会返回两次值,主进程返回子进程的进程ID,子进程中返回0。
  • && 两边都为 true 时,整个运算结果才为 true。具有短路功能,即第一个表达式为 true 时,则不再计算第二个表达式。

所以,主进程中,会逐个执行三次 fork,并sleep(10)。子进程中,&& 操作短路,直接执行 printf 函数。

标签:fork,面试题,sleep,&&,进程,hello
From: https://www.cnblogs.com/xianzhedeyu/p/17998789

相关文章

  • 每日一道面试题:Java中序列化与反序列化
    写在开头哈喽大家好,在高铁上码字的感觉是真不爽啊,小桌板又拥挤,旁边的小朋友也比较的吵闹,影响思绪,但这丝毫不影响咱学习的劲头!哈哈哈,在这喧哗的车厢中,思考着这样的一个问题,Java中的对象是如何在各个方法,或者网络中流转的呢?通过这个问题便引出了我们今天的主人公:序列化与反序列化!......
  • git笔试面试题
     收集整理几个git相关的笔试面试题 1、你们公司版本是如何管理的?细说一下 2、如何创建分支? 3、gitclone、gitpull、gitfetch、gitpush的区别是? 4、merge和rebase的区别是? 5、gitpull和gitpull--rebase的区别是? 6、代码提交到本地仓库后,发现提交日志写错了,如何修改? ......
  • JS 面试题: 将class转为function
     关于类-需知知识点:1、ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语......
  • [职场] 面试题:Java语言技术的应用有哪些?
    小伙伴们面试时,特别是和代码相关的岗位,面试时可能会遇见关于Java语言技术的应用这个问题,那么我们应该如何作答呢?一起来看看答案吧!答案:1、Android,应用许多的Android,应用都是Java程序员开发者开发。虽然Androidi运用了不同的JVMl以及不同的封装方式,但是代码还是用Java语言所编写。......
  • [职场] 互联网行业的技术面试题以及解析
    互联网行业是这几年的热门行业,很多小伙伴都想要进入互联网行业,今天小编给大家分享一些渝新欧额关于互联网行业的技术面试题以及解析。1、什么是服务注册服务提供者在启动时,会向EurekaServer发送一次情求,将自己注册到Eureka注册中心中去。2、什么是服务续约在注册服务完成以后,服务提......
  • [职场] 教师招考结构化面试题及答案
    教师招考结构化面试是选拔优秀教师的重要环节,通过对面试者的专业知识、教育教学能力、沟通协作能力等方面的考查,选拔出具备优秀潜质的教师。本文将针对教师招考结构化面试中的常见问题进行梳理,并提供参考答案,以帮助您更好地应对面试。一、专业知识类问题1.请简述我国教育的基本任......
  • Unity面试题:热更新篇(一)
    请简要介绍Unity热更新的原理和实现方式。答:Unity热更新的原理是通过将游戏的资源和代码分离,将代码部分放置在服务器端,游戏启动时通过网络下载更新的代码并动态加载,以达到实现热更新的目的。实现方式包括AssetBundle、ILRuntime等。对啦!这里有个游戏开发交流小组里面聚集了一帮热......
  • 每日一道Java面试题:Java是值传递还是引用传递?
    写在开头Java是值传递还是引用传递?这个问题几乎100%的出现在了各大主流Java面试题中,知识点很小,但很考验面试者对于Java运行的理解,今晚趁着生产投产的空子,过来小聊一下。实参与形参所谓的值传递or引用传递是指方法在调用的过程中实参传递的两种变现形式,那么好,想搞清楚这个问题的......
  • 深度解析Java8社招面试题:Lambda序列化到底行不行?
    大家好,我是小米,一个热爱技术分享的小伙伴。今天,我们来聊一个关于Java8的话题,一个颇具技术深度的问题:“社招面试题:Java8中的Lambda表达式可以序列化吗?”废话不多说,让我们一起揭开这个技术的神秘面纱!Lambda表达式的崛起在Java8之前,我们编写代码时常常要依赖匿名内部类,这使得代码显得......
  • 【解答】面试题:如何快速解决跨库join表关联?
    面试题:如何快速解决跨库join表关联?有一天产品经理提了一个需求,要关联查询A库的xxx表和B库的xxx表(跨库join),做实时分析(查询的表不固定,后期业务还会调整)。Java研发更改代码实现比较困难,大数据团队反馈可以,但不能保证实时性,会有30分钟左右的数据延迟。产品经理说我这个需求很急,30分......