#拼多多C++工程师面经# #C++工程师面经# #校招面经# 👈点击话题查看更多同类面经干货!每日面经精选,为你发掘牛客干货!
  赶在第一批尾巴投递的,过了几天就笔试了    笔试:2.0/4.0    拼多多一面    8.10 45min    给一个字符串str,将其转换为相应的long值,如果不是合法数字则返回null    问了下面试官,可能会非法,不会溢出  long long transType(String numStr) {    if (numStr.empty()) return null;    bool is_positive = true;    int n = numStr.size();    int i = 0;    if (numStr[i] == '+') {        is_positive = true;        ++i;    } else if (numStr[i] == '-') {        is_positive = false;        ++i;    } else if (numStr[i] < '0' || numStr[i] > '9') {        return null; // invalid    }    while (numStr[i] == '0') ++i; // remove prefix zero    long long num = 0;    while (i++ < n) {        if (numStr[i] >= '0' && numStr[i] <= '9') {            num = num*10 + (numStr[i] - '0');        } else {            return null;        }    }    if (!is_positive) {        num = -num;    }    return num;}   topk(快速选择or最大堆,还说了为啥快速选择是On时间复杂度    海量数据topk(我答的是单机解法,最后把面试官搞得有点晕,最后直接把编程之美这本书搬出来了    两个很大的有序数组,求交集(先说了双指针,经过提示,如果交集稀疏可以用二分    有向图如何判定是否有环(我很心虚的说拓扑排序,但是展开讲的时候有点磕磕绊绊的    理想答案:方法是重复寻找一个入度为0的顶点,将该顶点从图中删除(即放进一个队列里存着,这个队列的顺序就是最后的拓扑排序),并将该结点及其所有的出边从图中删除(即该结点指向的结点的入度减1),最终若图中全为入度为1的点,则这些点至少组成一个回路。    腾讯实习巴拉巴拉    阿里实习,展开挺多的    拼多多二面    8.22 1h    聊实习    消息队列kafka,问了一些浅层的,如何持久化,消费了会不会删除消息,如何维护进度,深层我就不熟悉了,坦白在阿里实习时才接触,我写cpp的了解不深    问我熟悉哪种语言,我说c++,但面试官应该是写java的    c++多态怎么了解、虚函数是什么    友元函数是什么    为什么构造函数不能是虚函数,为什么析构函数得是虚函数    深拷贝与浅拷贝的区别    HTTP与HTTPS的区别,TLS的握手过程    epoll的LT与ET的区别    TCP可靠性如何保证(seq、ack、滑动窗口、拥塞控制    手撕:判断一个数是否是完全平方数    最快的是用一个公式:1+3+5+7+ ... + (2n-1) = n^2  class Solution{public:    bool isPerfectSquare(int num) {        int num1 = 1;        while(num > 0) {            num -= num1;            num1 += 2;        }        return num == 0;    }};   也可以用二分法或牛顿法不断减小平方根的范围,最后判断离平方根最近的整数,其平方是否等于num来判断num是否是完全平方数    手撕:two sum    原来pdd的面试间是可以运行代码的,但是只能由面试官运行,这意味着报错原因是看不到的。。所以在写two sum时有很多小错误,比如忘记加某个头文件,漏掉某个分号,函数原型写错了,每次面试官都说你再仔细检查一下,这真的是考验肉眼观察能力了    过了几天收到了下一轮面试邮件,括弧里面就写了hr面,心想才两面就hr面了,太爽了吧    拼多多hr面    8.28 35min    自我介绍    还有其他offer吗    对各互联网大厂的评价    你更喜欢哪种企业氛围    为什么投递这个岗位    接受调剂    工作的地域偏好    怎么选择毕业后的第一份工作    你希望拿到什么样的薪资    了解拼多多的情况吗,你怎么看待11116,能接受11116吗    老家哪的,父亲母亲工作,国企还是私企,独生子吗    有女朋友吗    说说你受到的挫折    为啥入党    实习时有跟产品对接吗    如果项目需要delay你会怎么做    实习期间碰到的有挑战的事,你觉得有成就感的事    如果给offer,可以提前实习吗,最快啥时候正式入职    hr面完当天又收到下一轮面试的邮件,在牛客上看到挺多人也是这样的,这人数感觉也不是sp加面    拼多多四面    9.3 1h    聊两段实习,挺深入的,腾讯的有些回答不上来    后面聊到实习内容时,手撕了代码,输入两个队列,每个元素是带时间戳的消息,输出一个经过时间排序后的合并队列    面试没有复制自己写的代码,但是思路差不多,大致代码如下:     queue<pair<string, int>> mergeQueue(queue<pair<string, int>> q1, queue<pair<string, int>> q2) {    queue<pair<string, int>> q;    while (!q1.empty() && !q2.empty()) {        while (!q1.empty() && q1.front().second < q2.front().second) {            q.push(q1.front());            q1.pop();        }        while (!q2.empty() && q1.front().second > q2.front().second) {            q.push(q2.front());            q2.pop();        }    }    while (!q1.empty()) {        q.push(q1.front());        q1.pop();    }    while (!q2.empty()) {        q.push(q2.front());        q2.pop();    }    return q;}      写完后,面试官问如果时间戳相等怎么办,我看着代码思考了一下说会死循环,然后讨论了一下时间戳能否相等,如果相等的话,用户的各个客户端要如何保证前后顺序一致等等问题    总之,都是围绕实习内容展开,没有问基础知识,还是要求有自己的思考的    最后反问环节,问了为什么hr面是三面,面试官说他也不知道,可能时间排的就是这样的    这几轮面试官都是不同组的,感觉应该是经过面试结果评估排序后再发offer,感觉这几轮面的还行(主要是手撕都过了),求拼多多的意向书       [大厂offer]      ---              9.22oc,问了下有哪些offer和自己是否单身???      
点赞 15
评论 13
全部评论

相关推荐

特斯联 后端开发 300 + 450餐补
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务