📜  PayTM面试经验(1年经验)

📅  最后修改于: 2021-09-23 05:47:01             🧑  作者: Mango

我在 Noida 的 PayTM 接受了Java后端开发人员简介的面试。

第 1 轮:在线测试

  • 有n个石头。每块石头都有一个与之相关的重量。第一个石头的重量是 1,第二个石头的重量是 2.. 依此类推。给定一个整数 x。您需要选择最大数量的石头,以使所选择的石头总重量小于 x。
    您还会获得一系列您无法挑选的石头。
    – 输入:
    n = 10(有 10 个石头,重量分别为 1、2、3、4、5、6、7、8、9 和 10)
    x = 12(收集的石头总重量不能超过12)
    arr = {1, 2, 5} (重量为 1, 2, 5 的石头不能被采摘)
    – 输出:
    2(只能捡 2 个石头。{3, 4} 或 {3, 6} 或 {4, 6})
  • 查找 JSON 对象的深度。
    – 输入:
    {x:[{a: 1, b: 2}, {a: 4, b: 5}], y: 1}
    – 输出:
    3
    类似于:https://www.geeksforgeeks.org/find-maximum-depth-nested-parenthesis-string/

第二轮:技术面试

  • 说说你自己
  • 找出使用前 N 个自然数将和 N 相加的多种方法。
    – 例子:
    对于 n=3,输出=4 ([1+1+1], [1+2], [2+1], [3])
    对于 n=4,输出=8 ([1+1+1+1], [1+1+2], [1+2+1], [1+3], [2+1+1], [ 2+2]、[3+1]、[4])
  • 检查二叉树是否是二叉搜索树
  • 在二叉树中查找从根到给定节点的路径
    有人问我两种方法:一种使用额外空间,另一种不使用额外空间
  • 使用栈实现队列
  • N皇后问题
  • 以给定大小的组反转链表
  • 关于Java 的问题:
    • String、StringBuilder 和 StringBuffer 之间的区别
    • 创建自定义的不可变类
    • wait() 和 sleep() 的区别
    • Java有哪些不同类型的克隆以及它们是如何工作的
    • 什么是序列化?假设有一个包含 int 和 String 字段的类。我们序列化这个类的一个对象。现在我们可以将它反序列化为另一个具有 long 和 String 字段的类的对象吗?
    • 什么是抽象类?
  • 基于简历的问题:
    • 什么是 REST API?
    • 我们如何使 REST API 无状态?
    • 如何保护 REST API?
    • 什么是 AJAX,为什么要使用它?

第三轮:技术面试

  • 说说你自己
  • 对当前组织中当前项目的深入讨论
  • 设计一个系统可以在一天内处理 10 亿次服务器点击
  • 查找与给定列号对应的excel列名
  • 对 0 和 1 的数组进行排序
  • 每天股票的成本在一个数组中给出,找出你在那几天通过买卖可以获得的最大利润。您只能买卖股票一次。例如,如果给定的数组是 {100, 180, 260, 310, 40, 535, 695},则在第 4 天买入,在第 6 天卖出可以获得最大利润。
  • Java的线程池是什么?
  • 什么是 ORM?
  • NoSQL 和 SQL 的区别。我们什么时候更喜欢 NoSQL 而不是 SQL?
  • 什么是 ACID 属性?
  • HTTP 和 HTTPS 之间的区别。它们是如何工作的?
  • 什么是数字签名?

第四轮:技术面试

  • Spring 和 Springboot 的区别
  • 给定一个由 0、1 和 2 组成的数组。找出包含所有三个数字的最短间隔的长度。
    – 输入:
    {1, 2, 2, 2, 1, 2, 1, 1, 0, 0, 1, 1, 2, 2}
    – 输出:
    4(从索引 5 到 8 的间隔)
  • 设计一个停车场

第 5 轮:人力资源面试

  • 自我介绍
  • 你为什么要改变?