2018贝壳面试

前言

三次面试贝壳,三次挂掉,不得不说自己太不珍惜机会了,总体来说贝壳的面试官还是非常nice的,不会的问题请教他都会给你解答,面试的流程很好,提供各种好吃的,hr很漂亮,薪资很诱人,总结起来就是自己太菜了没有好好学习,我会继续好好努力。

问题

  1. 如何判断链表是否有环?

    答:话说贝壳的面试官还给我讲了一个高效的算法,虽然也是快慢指针的方法,但是判断条件改成了当快指针地址小于慢指针地址的时候,就说明有环,比判断地址相同效率高很多。

    # -*- coding:utf-8 -*-
    class ListNode:
        def __init__(self, x):
            self.val = x
            self.next = None
    
    
    class Solution:
        def hasCircle(self, pHead):
            if pHead == None or pHead.next == None:
                return False
            
            low = fast = pHead
            is_meet = False
            
            while fast.next != None:
                low = low.next
                fast = fast.next.next
                if low > fast:
                    is_meet = True
                    break
    
            return is_meet
    
  2. 两台机器都能上网,但是之间却不通,找原因?

    答:考虑路由问题。

  3. 跨域的方法?

    答:

     * JSONP
     * CORS
     * NodeJS 转发
    
  4. linux 查看多核 cpu 负载?

    答:使用 top 命令,按1,查看多个逻辑 cpu 负载。

  5. linux 查看某个端口被哪些进程使用?

    答:利用 lsof 命令,查看文件描述符信息。

    lsof -i :80
    
  6. http 请求首部、响应首部有哪些?

    答:根据具体场景解释比较好,如缓存场景、分块传输场景。

  7. http 传送文件的时候,Content-Type 的值是什么?

    答:Content-Type: multipart/form-data;

  8. http 499 含义?

    答:499 报错的核心是 nginx 要给客户端吐数据时发现客户端已经断开连接。常见场景是客户端超时。

    参考

  9. https 如何知道对方使用的加密算法?

    答:

    参考1

    参考2

  10. 如何选择主键,原因有哪些?

    答:我个人觉得主键应该被其他列依赖。

  11. 索引什么情况下会失效?

    答:

    参考1

    参考2

  12. UDP 协议使用的场景?

    答:

    * DNS。
    * 实时性的服务,语音,视频
    
  13. git 提交最近一次的 commit?

    答:

    git cherry-pick [<options>] <commit-ish>
    
  14. git pull 拉下来后有错怎么处理?

原文地址:https://www.cnblogs.com/selfimprovement/p/9848591.html