名企员工招聘笔试题目:美团运维方向岗位笔试题及答案 1.TCP为什么需要第三次握手?第三次握手失败了会怎么样? 2.请简述ssrf的原理、有哪些攻击方式及防御方法。 3.OSPF(Open Shortest Path First)路由协议建立邻居的过程有那几个状态? 4.假设现在只有三台笔记本,分别为PC1、PC2和PC3,其中每台笔记本都有1块有线网卡和一块无线网卡,在仅有1根网线的情况下,如何将三台笔记本电脑组到一个局域网中?请给出解题思路步骤。 5.请简述操作系统分页式内存管理机制,并介绍下进程fork时对内存的copy on write实现原理。 6.[编程题]无重复字符的最长子串 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 输入描述: 一行一个字符串,长度不超过1000 输出描述: 输出一个数字表示最长子串的长度 输入例子1: abcabcbb 输出例子1: 3 例子说明1: 因为无重复字符的最长子串是"abc",所以其长度为3. 7.[编程题]LRU缓存机制 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最少使用的数据值,从而为新的数据值留出空间。 输入描述: 第一行输入缓存容量,包含一个整数N,1≤N≤10。 接下来,每一行是一个put或者get的操作。 若输入一个get + 一个数字,则代表get操作和指定的key; 若输入一个put + 两个数字,则代表put操作后面为key和value,进行put操作。 读到文件结束 输出描述: 输出多行,每一行两个数字表示 缓存中的key 和value。按照访问时间或者插入时间,越早的越先输出。 输入例子1: 2 put 1 1 put 2 2 get 1 put 3 3 get 1 输出例子1: 3 3 1 1 参考答案 1.略 2.略 3.(1)、down state (2)、init state (3)、two-way state (4)、exstart state (5)、exchange state (6)、loading state 本文来源:https://www.wddqw.com/doc/fbf4906ccb50ad02de80d4d8d15abe23482f032d.html