美文网首页
阿里一面 目测已挂

阿里一面 目测已挂

作者: lsada | 来源:发表于2017-09-05 15:17 被阅读0次

    这次阿里拜的原因主要是在面试前经历了好几次狼来了的游戏,每次打来电话都以为是面试,结果发现都不是,所以导致我以为这次也是一次乌龙,没好好重视。

    面试时间:1h左右

    项目

    1. TCP和UDP的区别
      我讲到了TCP粘包的问题,然后有了第二个问题。
    2. 什么是粘包,后面还问我我们是怎么处理粘包的
      我说我们是有定义包头包尾的,所以就算有粘包,等下次补齐剩下一部分就好。
    3. 为什么TCP分段是以1500分的?
      其实这里我也不太清楚,之前猴子面试也被问到,我之前查了,可是没查到啊。我只能说是链路层以太网的规定,如果链路层选择其他网络传输可能会不同。
    4. 为什么不直接用keepAlive?
      因为我说到心跳包。我说因为keepAlive在Qt上只能用标志位设置,面试官给我说可以把fd取出来设置啊,我。。。。
      然后我说心跳包的里另外一个原因是时间戳,因为网关太low了,没法带时间戳。
    5. 心跳包多大?是单独发送的吗?
      我当时说的是单独发送的,他问我确定吗。我就有点怕了,但是我一想当时校准的时间是没有问题的,所以我就很肯定的说了。然后我也补充说这样传输代价很高,我也承认。
    6. 并发数是多少?怎么保证并发的?
      我说是新有连接就新建一个链表,有消息之后会异步通过Qt的槽和信号机制来实现。事实上也是这么做的。我觉得幸亏没有胡嘴什么多线程多进程。因为如果多线程多进程涉及非常复杂的数据同步(缓冲区),多进程开销又比较大。
    7. Qt的槽信号机制是什么,底层怎么实现的
      这还是第一次有面试官问我Qt的问题。我说槽和信号其实都是两个处理函数,用connect连接。当有信号的时候,就触发slot的函数执行。其实这块我有点记不清。底层就不知道怎么实现了。
    8. 异步和同步是什么?异步底层是怎么实现的。
      异步和同步概念说了。
      但是异步我没看啊,晕,我只看了IO复用,我给他说异步是通过iocp实现的。他说iocp怎么实现的。我就直接时候不知道了。

    Java

    Java问的问题都是我很早以前看的,但是已经忘记的东西,包括限制符和JVM

    1. 几种限制符,分别代表什么。protected修饰的在同名的包类的其他类可不可以访问。
    2. 内部类有几种。public static修饰的内部类是什么(布吉岛)
    3. 了解JVM吗,JVM是什么
    4. 垃圾收集。几种垃圾收集算法比较

    算法

    1.刚开始让我写插入排序,然后改变主意让我写选择排序,说选择排序比较简单。呵呵,我这两个都忘记了。我就问他能不能写快排,我说选择排序忘记了。他说好,然后写完了。

    1. 给一个字符串让转换成HashMap
    2. 不让用split又转了一次。

    问他我有什么说不对或者不好,他说都挺好,我就很生气,阿里面试官都这样,根本不指出你的问题,一直说你好,完了把你一挂。

    相关文章

      网友评论

          本文标题:阿里一面 目测已挂

          本文链接:https://www.haomeiwen.com/subject/iiiujxtx.html