美团正式批二面服务器开发工程师

1.项目中如何实现IO多路复用的,能讲讲吗?
2.那select、poll、epoll又是如何实现一个主进程监听多个客户端呢?(底层实现
3.能说说同步阻塞、同步非阻塞、异步阻塞、异步非阻塞吗?(同步,异步与阻塞,非阻塞并没有关系
4.说说你是如何用小根堆实现的定时器,以及你为什么要用小根堆?(可以实现较为精确定时
5.进程和线程的区别?
6.进程的上下文切换相比于线程具体多了哪些开销呢?
7.线程同步机制有哪些?(互斥锁、自旋锁、条件锁、读写锁)
8.说说上述各个线程同步之前的区别?
9.有了互斥锁,为什么还要条件锁?(条件锁反复尝试上锁,但无需进行内核切换

手撕代码
求有n个元素的序列前k个最小的数。
(没调出来,难受)

快排实现:
class Solution {
public:
    vector<int> res;
    vector<int> quicksort(vector<int>& q, int l, int r, int k) {
        if (l >= r) {
            for (int i = 0; i <= l; ++i) res.push_back(q[i]);
            return res;
        }
        int i = l - 1, j = r + 1;
        int x = q[l + r >> 1];
        while (i < j) {
            do i++; while (q[i] < x);
            do j--; while (q[j] > x);
            if (i < j) {
                swap(q[i], q[j]);
            }
        }
        int sl = j - l + 1;
        if (sl >= k) return quicksort(q, l, j, k);  // Left
        else return quicksort(q, j + 1, r, k - sl); // Right
    }
    vector<int> getLeastNumbers(vector<int>& q, int k) {
        if (k == 0) return {};
        int n = q.size();
        return quicksort(q, 0, n - 1, k);
    }
};

堆排实现:
class Solution {
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {
        priority_queue<int> q; // 默认是大根堆
        for (auto& x : arr) {
            q.push(x);
            if (q.size() > k) q.pop();
        }
        vector<int> res;
        while (q.size()) {
            res.push_back(q.top());
            q.pop();
        }
        return res;
    }
};

更新一下:二面已过,HR面等待通知。


#美团面试##面经##美团##秋招##Java##C/C++##校招#
全部评论
笔试a了几道题
点赞 回复 分享
发布于 2021-09-25 11:36
二面之后多长时间发通知?兄弟
点赞 回复 分享
发布于 2021-09-17 07:55
你是什么项目呢
点赞 回复 分享
发布于 2021-09-15 18:37

相关推荐

07-21 18:43
门头沟学院 Java
是暑期都招满了吗
ANEOY:今年感觉真是后端地狱级难度了,从暑期就是这样,前端需求非常大
点赞 评论 收藏
分享
机械打工仔:不管啥专业,找工作改简历的第一课先把你那排版改了,简历上不要写个人简历四个字,找你要简历的谁不知道这个是简历?而且还占那么多空间,直接把自己名字和基础信息写上面,整体字体大一些。 还有这种经典两页简历一页大空白,导出PDF的时候多了一页几乎全是白的你自己看着不难受吗随手的事为啥不能改掉呢,这是态度问题,你试想一下你是HR你打开简历看到格式都没调整过会是什么感受?你自己都不重视你的简历,HR更不会在意。 然后内容你那个做两年咖啡就别往里写了,简历在精不在多,你在往你的简历里打字的时候就要想好这东西对你要找的工作有没有帮助。自我评价写一行就行了,不如给专业技能单开一栏。核心课程均分90这个真别写了,把你上过的有用的专业课列出来也行。有很多地方废话很多的精炼一下,比如你校内项目第一个写的那些,全然没有重点。 好好修改一下,我看你内容也挺优秀的,别被一个随便做的简历耽误了,我一个同专业的打工人看了都揪心更别说一天看几百份简历的HR
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务