蚂蚁金服 暑期实习生 3面 和 阿里笔试 3.25

昨天电话约了今天的电话面试,11:30,聊了40分钟。
昨天下午做了阿里的线上笔试,晚上做了测评。

笔试

笔试难度不大,在牛客网上完成,2道算法题,LeetCode medium难度。

给3xn的矩阵,每列选择其中的一个数, 形成最后的数组。
使得最后的

最小。
输出最小的这个值。

DP求解即可。

时间复杂度: O(3N),
空间复杂度: O(3).

```cpp
#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;
using ll = long long;

int main() {
    int n;
    cin >> n;
    vector<ll> last_dp(3, 0);
    vector<vector<ll>> matrix(3, vector<ll> (n));
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < n; ++j) {
            cin >> matrix[i][j];
        }
    }
    for (int i = 1; i < n; ++i) {
        vector<ll> dp(3);
        for (int dp_index = 0; dp_index < 3; ++dp_index) {
            dp[dp_index] = abs(matrix[dp_index][i] - matrix[0][i-1]) + last_dp[0];
            for (int j = 1; j < 3; ++j) {
                ll new_value = abs(matrix[dp_index][i] - matrix[j][i-1]) + last_dp[j];
                if (new_value < dp[dp_index]) {
                    dp[dp_index] = new_value;
                }
            }
        }
        last_dp = move(dp);
    }
    cout <<  min({last_dp[0], last_dp[1], last_dp[2]}) << endl;
    return 0;
}

一个n x m的矩阵,每列每行都是等差数列,公差为整数。
输入n x m个数,如果为0表示不知道,否则知道。
q个查询,特定位置(下标1开始)的值是否可确定。

递归求解,进行推测即可。可以用一些数组维护:每行/列是否已经被推断、每行/列已知道的数的下标、行列信息。

时间复杂度: O(N * M),
空间复杂度: O(N * M).

#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>

using namespace std;
using ll = long long;
const int INF = 0x3f3f3f3f;

int main() {
    int n, m, q;
    cin >>  n >> m >> q;
    vector<vector<int>> A(n, vector<int> (m, INF));
    vector<int> row(n, -1);
    vector<bool> row_ok(n, false);
    vector<int> col(m, -1);
    vector<bool> col_ok(m, false);
    function<void(int, int, int)> fill = [&](int i, int j, int value) -> void {
        A[i][j] = value;
        if (col_ok[j] && row_ok[i]) {
            return;
        } else {
            if (!col_ok[j]) {
                if (col[j] == -1 || col[j] == i) {
                    col[j] = i;
                } else {
                    col_ok[j] = true;
                    int diff = (A[i][j] - A[col[j]][j]) / (i - col[j]);
                    for (int r = i - 1; r >= 0; --r) {
                        fill(r, j, A[r + 1][j] - diff);
                    }
                    for (int r = i + 1; r < n; ++r) {
                        fill(r, j, A[r - 1][j] + diff);
                    }
                }
            }
            if (!row_ok[i]) {
                if (row[i] == -1 || row[i] == j) {
                    row[i] = j;
                } else {
                    row_ok[i] = true;
                    int diff = (A[i][j] - A[i][row[i]]) / (j - row[i]);
                    for (int c = j - 1; c >= 0; --c) {
                        fill(i, c, A[i][c + 1] - diff);
                    }
                    for (int c = j + 1; c < m; ++c) {
                        fill(i, c, A[i][c - 1] + diff);
                    }
                }
            }
        }
    };
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            int v;
            cin >> v;
            if (v != 0) {
                fill(i, j, v);
            }
        }
    }
    for (int i = 0; i < q; ++i) {
        int r, c;
        cin >> r >> c;
        --r;
        --c;
        if (A[r][c] == INF) {
            cout << "Unknown" << endl;
        } else {
            cout << A[r][c] << endl;
        }
    }
    return 0;
}

测评

笔试没难倒我,测试却花了我不少时间。
主要是测试

  • 语文:阅读理解、成语使用、归纳和排除 10min
  • 数学:表格、图、经济用语 10min
  • 智商:看图找规律 10min
  • 性格:是否抗压、反社会 30min

全靠高中学习到的知识和技能。智商就天生的呗。
据说和公务员的考试很像,行测。有了解的朋友可以看看。

应该也不会用测评去筛人,又不是考公务员,手撕代码才是王道。

面试

面试官很NICE,还加了我微信进行沟通。
主要聊了项目,还有一些数据处理的知识和Java的了解。

  • 数据预处理,对缺失值的处理
  • 给一个信用评估的数据,如何利用和上线
  • Java了解程度和使用,Spring boot

最后问了英语怎样,口语如何。可能是因为对方是 国际化事业群 吧。

我最后问了面试官所在的组和业务。
面向海外的个人信贷业务,类似花呗和借呗。

#蚂蚁集团##阿里巴巴##实习##Java工程师##面经#
全部评论
请问lz官网上的面试进度到哪儿了?我3.23做完笔试后现在进度是面试中,但是阿里的人还没有联系我,我也是提前批的
点赞 回复
分享
发布于 2020-03-26 13:50
请问笔试有什么准备方法吗?牛客上好像没啥题库(小白一枚可能不太会找
点赞 回复
分享
发布于 2020-03-26 14:39
滴滴
校招火热招聘中
官网直投
请问楼主投的什么岗位,三次面试,面试官都不一样吗
点赞 回复
分享
发布于 2020-03-27 17:05
请问这是哪一场的题目
点赞 回复
分享
发布于 2020-03-29 13:54
这位同学很优秀👍。有想来阿里云的同学可以跟我联系。
点赞 回复
分享
发布于 2020-04-03 10:15
lz我也是国际化事业部,今天刚面完三面。。
点赞 回复
分享
发布于 2020-04-05 17:59
不过我大概率去腾讯了
点赞 回复
分享
发布于 2020-04-05 17:59
我也是蚂蚁国际,你接到hr面了吗😁
点赞 回复
分享
发布于 2020-04-07 02:13
大佬 请问面试问的比较少吗,看你的面经 好像问的不多。还是说因为主要是项目,没有写出来
点赞 回复
分享
发布于 2022-09-13 19:14 上海

相关推荐

8 34 评论
分享
牛客网
牛客企业服务