zoukankan      html  css  js  c++  java
  • 有趣的面试题

    之前在知乎上看到了一个关于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()

    第三题

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

  • 相关阅读:
    使用curl命令操作elasticsearch
    Elasticsearch + logstash + kibana 配置
    Solr6.2.0 + zookeeper 集群配置
    Elasticsearch + logstash中文指南
    ELK+kafka构建日志收集系统
    基于docker+etcd+confd + haproxy构建高可用、自发现的web服务
    mongodb配置
    Docker的私有仓库
    GitLab + Jenkins + Docker + Kubernetes。
    ansible 安装使用
  • 原文地址:https://www.cnblogs.com/-Donny/p/6288324.html
Copyright © 2011-2022 走看看