📌  相关文章
📜  软件工程师实习生的Paytm面试经验| 2020年校内(1)

📅  最后修改于: 2023-12-03 14:57:51.717000             🧑  作者: Mango

软件工程师实习生的Paytm面试经验| 2020年校内

简介

我是一名软件工程专业的学生,今年在校内参加了Paytm的实习生面试。在此,我分享一下我的面试经历以及与Paytm面试官的交流情况,希望能够对其他即将面试的同学有所帮助。

面试环节

Paytm的面试过程分为两部分: 笔试和技术面试。

笔试

Paytm的笔试题目主要考察以下几个方面:

  1. 数据结构及其算法
  2. OOP(面向对象编程)
  3. 基本数学算法
  4. Java语言特性

在我所参加的2020年校内实习面试中,笔试所用的时间为1小时,每道题目都要实现。难度方面比较适中,主要招聘Java后端实习生。

技术面试

技术面试主要考察以下几个方面:

  1. 数据库设计及SQL查询优化
  2. 多线程编程
  3. 基本计算机网络知识
  4. Java语言特性(详解)

在我所参加的面试中,技术面试时长约1个半小时,主要与面试官进行技术交流与指导。

面试官交流

Paytm的面试官对学生经验的要求不是特别高,主要看重学生的思考过程、问题解决能力以及对面试官所问问题的理解及回答。面试官提问的方式与传统面试的问答模式有所不同,更多的是对学生的思路进行引导。

总体而言,与Paytm面试官的交流是非常愉快的,并且能够从面试官那里获得很多有益的技术建议和指导。

代码片段

下面是一道我在Paytm的面试题目示例:

/**
 * 在二叉树中输出所有从根到叶子的路径(Java实现)
 */

public class BinaryTree{
    Node root;

    // 构造函数
    BinaryTree(){
        root = null;
    }

    // 存储路径的数组
    int path[] = new int[1000];
    int pathLen = 0;
    
    // 迭代函数
    void printPathsRecur(Node node){
        if(node == null) return;
        path[pathLen] = node.data;
        pathLen++;

        if(node.left == null && node.right == null){
            printArray(path, pathLen);
        }
        else{
            printPathsRecur(node.left);
            printPathsRecur(node.right);
        }

        pathLen--;
    }

    // 打印路径
    void printArray(int int[], int len){
        for(int i=0; i<len; i++){
            System.out.print(int[i] + " ");
        }
        System.out.println("");
    }
}

代码中,实现了在二叉树中输出所有从根到叶子的路径。在面试中,面试官会根据该代码提问学生实现的思路及时间复杂度等问题。