中国移动杭州研发中心测评/笔试

2024-10-18刚刚面试完:https://www.nowcoder.com/share/jump/1729345885661

2024-10-19就收到了测评通知。

邀请您参加【中移杭研】在线专业测评,测评通过后将邀请您参与集团在线统一笔试(10月26日下午14:00-16:00),本次测评正式开始后,您将可以看到11个不同的方向,请您于11个专业方向中选择一个进行作答【试卷分为客观题(博士选答),在线编程题(博士选答),党性测试题(必答)(其中党性测试单独计分)以及问题统计,请注意:专业方向试卷仅有一次选择机会,请谨慎选择。】

想起来我投递的应该是嵌入式软件工程师岗位,所以我就选择了嵌入式方向。

题目划分:

客观题*30:我选的嵌入式方向,就是嵌入式的题库三十道选择题(包括判断),整体难度不高,低于牛客题库的难度;

党性测试题*10:党史党章和二十大的基础知识;

在线编程题*2:可能是嵌入式方向,所以限制C/C++;

问题统计:问我能否参加10月26日的全国统一笔试。

编程题1:

题目描述:
给你单链表的头结点head,请你找出并返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。

输入描述:
5
1 2 3 4 5

第一行表示链表有5个元素第二行则为具体元素空格分开;

输出描述:
3 4 5

链表只有一个中间结点,值为3。返回3之后的元素。

代码:

#include <iostream>
using namespace std;

struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x) : val(x), next(nullptr) {}
};

ListNode* findMiddle(ListNode* head) {
    if (!head) return nullptr; 

    ListNode* slow = head;
    ListNode* fast = head;

    while (fast && fast->next) {
        slow = slow->next; 
        fast = fast->next->next; 
    }

    return slow;
}

void printList(ListNode* start) {
    while (start) {
        cout << start->val << " ";
        start = start->next;
    }
    cout << endl;
}

int main() {
    int n;
    cin >> n; 
    ListNode* head = nullptr;
    ListNode* tail = nullptr;

    for (int i = 0; i < n; ++i) {
        int value;
        cin >> value;
        ListNode* newNode = new ListNode(value);
        if (!head) {
            head = newNode;
            tail = newNode;
        } else {
            tail->next = newNode;
            tail = newNode;
        }
    }

    ListNode* middle = findMiddle(head);
    printList(middle);
    return 0;
}

编程题2:

给定整数n,返回所有小于n的非负整数n的质数的数量。

输入描述:
整数n;

输出描述:
小于n的非负整数n的质数的数量;

比如输入:
10

输出:
4

提示:
-5*10^6 < n < 5*10^6

代码:

(明明题目不难,但是一直通过86%,难搞)

#include <iostream>
#include <vector>
using namespace std;

int countPrimes(int n) {
    if (n <= 2) return 0;

    vector<bool> isPrime(n, true);
    isPrime[0] = isPrime[1] = false;

    for (int i = 2; i * i < n; ++i) {
        if (isPrime[i]) {
            for (int j = i * i; j < n; j += i) {
                isPrime[j] = false;
            }
        }
    }

    int count = 0;
    for (bool prime : isPrime) {
        if (prime) count++;
    }

    return count;
}

int main() {
    int n;
    cin >> n; 
    cout << countPrimes(n) << endl; 
    return 0;
}

#运营商笔面经互助#
全部评论
党性测试题就是那种偏性格道德的那种题吗?
点赞 回复 分享
发布于 10-20 16:55 四川
请问选择题有多选题吗?
点赞 回复 分享
发布于 10-20 18:34 江苏
请问那是21号前的测评和26号的笔试都有专业知识题目是吗
点赞 回复 分享
发布于 10-20 21:27 浙江
您好,这个是专业测评过了才给发26号的笔试通知吗
点赞 回复 分享
发布于 昨天 10:18 北京
错过在线测评了还有机会重新申请测评吗哭死
点赞 回复 分享
发布于 昨天 15:17 湖北
第二题加个abs就过了
点赞 回复 分享
发布于 昨天 16:10 浙江
我没有测评啊,难道一面就挂了?
点赞 回复 分享
发布于 今天 12:59 辽宁

相关推荐

7 13 评论
分享
牛客网
牛客企业服务