前言
三次面试贝壳,三次挂掉,不得不说自己太不珍惜机会了,总体来说贝壳的面试官还是非常nice的,不会的问题请教他都会给你解答,面试的流程很好,提供各种好吃的,hr很漂亮,薪资很诱人,总结起来就是自己太菜了没有好好学习,我会继续好好努力。
问题
-
如何判断链表是否有环?
答:话说贝壳的面试官还给我讲了一个高效的算法,虽然也是快慢指针的方法,但是判断条件改成了当快指针地址小于慢指针地址的时候,就说明有环,比判断地址相同效率高很多。
# -*- 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
-
两台机器都能上网,但是之间却不通,找原因?
答:考虑路由问题。
-
跨域的方法?
答:
* JSONP * CORS * NodeJS 转发
-
linux 查看多核 cpu 负载?
答:使用 top 命令,按1,查看多个逻辑 cpu 负载。
-
linux 查看某个端口被哪些进程使用?
答:利用 lsof 命令,查看文件描述符信息。
lsof -i :80
-
http 请求首部、响应首部有哪些?
答:根据具体场景解释比较好,如缓存场景、分块传输场景。
-
http 传送文件的时候,Content-Type 的值是什么?
答:Content-Type: multipart/form-data;
-
http 499 含义?
答:499 报错的核心是 nginx 要给客户端吐数据时发现客户端已经断开连接。常见场景是客户端超时。
-
https 如何知道对方使用的加密算法?
答:
-
如何选择主键,原因有哪些?
答:我个人觉得主键应该被其他列依赖。
-
索引什么情况下会失效?
答:
-
UDP 协议使用的场景?
答:
* DNS。 * 实时性的服务,语音,视频
-
git 提交最近一次的 commit?
答:
git cherry-pick [<options>] <commit-ish>
-
git pull 拉下来后有错怎么处理?