第一轮
1.实现过期缓存系统:缓存中的每个页面都有id和过期时间(几秒的TTL)。页面过期后,它表现为可用空间,可用于新页面/替换。对一切都进行了长时间的讨论。
第二轮
很无聊的一轮
1.二叉树中给定距离的节点
2.检查N叉树中的镜像
3.最大和连续子阵列
第三轮
很无聊的一轮
1.层序逐行遍历
2.树的ZigZag遍历
3. 在旋转数组中搜索
4.值等于索引值
终于有新东西了。。
5. 给定一个排序数组,说 A : (-4,-2,0,1,4,6,8,10)。有一个函数f(x) = a*x^2 + b*x + c ,在 A 上应用这个函数,其中 x 是数组 A 中的任何第 i 个元素,a,b,c 属于实数集。 f(A) 是否会被排序,如果没有,则在 O(n) 中对其进行排序。
如果您还记得数学中的二次方程概念,那就很容易了。我不记得了,所以他帮了我。
逻辑是任何二次方程都由图上的抛物线表示,图在 dy/dx = 0 处具有最小值,即 2*a*x + b = 0。该点图的两侧不断增加/减少到无穷大取决于根据 a 的值。计算 x = -b/(2*a) 的值。在排序数组中找到它或在 log n 中找到它的上限。从这一点开始到两端,进行归并排序。
第四轮
1.实现LRU缓存
2. 实施以下。
有三种类型的请求:
i) www.someurl.com/conn_id=?& timeout= ? -:对于这个 conn_id,您将等待超时秒,然后返回响应,同时您可以获得三种类型中的任何一种的更多请求
ii) www.someurl.com/stat/ -:返回所有等待超时的 id 及其剩余的超时间隔
ii) www.someurl.com/kill/conn_id=? -: 结束这个 conn_id 的等待超时并返回这个 conn_id 的响应
我用堆给出了一个解决方案。他询问了当请求正在等待超时而新请求同时到来时如何处理这种情况。在这种情况下如何进行服务器端可扩展性。
3. 他问了我目前的工作和正在研究的技术。我说Java, Spring MVC for backend and html,css, javascript for front end 突然他问Java和javascript有什么区别。当时想不通。 Javascript 也是一种面向对象的语言,可以像 node js 一样在服务器端使用。仍然有很多不同之处。
如果您喜欢 GeeksforGeeks 并愿意做出贡献,您也可以写一篇文章并将您的文章邮寄到 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。