• 有趣的面试题


    之前在知乎上看到了一个关于30道Google面试题的帖子,感觉很有意思,在这里比题和答案找出来,进行记录也方便又兴趣的朋友一起讨论。题目转自知乎,

    作者:路人甲 https://zhuanlan.zhihu.com/p/24756529


    第一题

    为什么井盖是圆的?

    这个问题算是一个发散性思维的问题,没有具体的答案,而且很多都在说井盖并不一定都是圆的,以下链接有着很多人充分讨论,感觉是理查德·范曼在微软面试时回答这个问题的情况那个答案挺有意思的。

    https://www.zhihu.com/question/19678960

    第二题

    互斥体和信号量之间有什么区别? 你将使用哪一个来保护对增量操作的访问?

    1. 互斥量用于线程的互斥,信号量用于线程的同步。

     互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

    同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

    2. 互斥量值只能为0/1,信号量值可以为非负整数。

    3. 互斥量的加锁和解锁必须由同一线程分别对应使用,信号量可以由一个线程释放,另一个线程得到。

    信号量举例:

    信号量:

    儿子: 是否有苹果,s1 = 0

    女儿: 是否有桔子,s2 = 0

    爸妈: 是否可以放水果,s3 = 3

    爸:                          妈:                     儿子:                      女儿:

    makeit()               makeit()              P(s1)                    P(s2)                               

    P(s3)                    P(s3)                  getit()                   getit()                                    

    putit()                   putit()                 V(s3)                   V(s3)                                           

    V(s1)                    V(s2)                   eatit()                  eatit()

    第三题

    一个人把他的车推到了酒店里面,然后他失去了财富,发生了什么?

  • 相关阅读:
    009——数组(九) each list array_map array_walk array_walk_recursive
    008——数组(八)删除添加数组 得到数组键名键值
    laravel怎么获取到public路径
    laravel中composer镜像服务的方式
    logback的使用和logback.xml详解
    log4j-over-slf4j工作原理详解
    java
    【Log】logback指定配置文件(二)
    logback 中文手册
    logback logback.xml常用配置详解(三) <filter>
  • 原文地址:https://www.cnblogs.com/-Donny/p/6288324.html
Copyright © 2020-2023  润新知