谈谈使用过的几款咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 768|回复: 7
收起左侧

Weixin 北京面经

[复制链接] |试试Instant~ |关注本帖
我的人缘0
storypku 发表于 2017-11-1 23:02:52 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

2017(10-12月) 码农类General 硕士 全职@Tencent Weixin - 内推 - Onsite  | Other | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
作为一股清流,我要贴一下今天面试微信岗位的面试题!求大家赏点大米吧。。。

五道题,时间是1个半小时。有智力题,填空题,编程题……共5道。 还真是俱全。据说微信面试有八轮,这在国内也是罕见的了。看看自己能走多远吧。

话不多说,上面经:
. Waral 博客有更多文章,
***Attention: 附件跟这个帖子内容一样。***


# Tencent WeiXin Onsite 复盘

### Question 1: 智力题:赛马
##### Description:
  64匹马,每场8赛道赛马。求决出前四名所需的最少比赛场数。(不能计时,但可以根据快慢推理,如A > B && B > C => A > C
.本文原创自1point3acres论坛
##### Solution
- Step 1: 8 * 8 小组赛,每个组决出快慢顺序, 共8场
- Step 2: 冠军争夺战,八个小组的头名参加:设冠军的金牌为A组A1斩获,前四名所在的小组设为A,B,C,D,有A1 > B1 > C1 > D1。共1场。
- Step 3: 亚/季争夺战:A组2-4名,B组1-3名,C组1-2名 决出前三名。其中前两名分获银牌和铜牌。共1场。
- Step 4: 如果C1未能斩获铜牌,则D1已经确定无缘第四名,第四名由Step 3比赛中的第三名获得。否则D1与其进行一场加赛,决出最终谁是第四名。
- Conclusion: 共需比赛10场或者11场。

### Question 2 N个无序排列的数中的前K大的数
#### Description
- N > 0, N >= K > 0.
- 最快算法的时间复杂度为多少?写出算法。

#### Solution
##### 常规思路: MinHeap, i.e., std::priority_queue in C++ STL

- O(nlogn) Time, O(n) Space
. from: 1point3acres
```c++-google 1point3acres
vector<int> topK(vector<int>& nums, unsigned k) {. visit 1point3acres for more.
    vector<int> result;
    if (k == 0) return result;-google 1point3acres
.1point3acres网
    std::priority_queue<int, vector<int>, std::greater<int>> pq;
    for (auto& c : nums) {
        pq.push(c);
        if (pq.size() > k) {.留学论坛-一亩-三分地
            pq.pop();. more info on 1point3acres
        }
    }

    while (!pq.empty()) {
        result.push_back(pq.top());
        pq.pop();
    }
    std::reverse(result.begin(), result.end());
    return result;
}
```
. from: 1point3acres
##### BinarySearch

- O(n) Time, O(1) Space
-google 1point3acres
```C++. from: 1point3acres
vector<int> topK(vector<int>& nums, int k) {
    int left = INT_MAX, right = INT_MIN;
    for (auto& c : nums) {
        left = std::min(left, c);
        right = std::max(right, c);
    }

    while (left < right) {
        int midV = left + (right - left) / 2;
        int count = 0;.留学论坛-一亩-三分地
        for (auto& c : nums) {
            count += (int)(c >= midV);
        }
        if (k >= count) {
            right = midV;
        } else { // k < count
            left = midV + 1;
        }
    }

    int kthV = left;.1point3acres网

    vector<int> result;
    for (auto& c : nums) {
        if (c >= kthV) {
            result.push_back(c);
        }
    }
    // std::sort(result.begin(), result.end());
    return result;. 一亩-三分-地,独家发布
}
```

### 逆序对的个数

假设有一个数组nums,如果存在 i < j 且 nums > nums[j] 则称为一个逆序对。

例如, 2 4 3 1 的逆序对为 3:1, 4:3, 4:1, 2:1 共1 + 2 + 1 = 4 对. From 1point 3acres bbs
又如, 2 6 8 9 5 1 的逆序对数为1 + 2 + 2 + 2 + 1 = 8 对.本文原创自1point3acres论坛

编码实现之。
. 1point3acres
```C++ 错误答案
int countReversePairs(vector<int>& nums) {. more info on 1point3acres
    std::stack<int> stk;
    int result = 0;
    for (auto iter = nums.rbegin(); iter != nums.rend(); ++iter) {
        int val = *iter;. 1point3acres
        while (!stk.empty() && stk.top() >= val) {
            stk.pop();
        }. 留学申请论坛-一亩三分地
        result += stk.size();. From 1point 3acres bbs
        stk.push(val);. more info on 1point3acres
    }
    return result;
}
```

~~~
```C++ 正确答案 Leetcode-493. 围观我们@1point 3 acres

#include <algorithm>.本文原创自1point3acres论坛

int sortAndCount(vector<int>::iterator s, vector<int>::iterator e) {
    int n = std::distance(s, e); 来源一亩.三分地论坛.
    if (n <= 1) return 0;-google 1point3acres
    auto mid = s + n / 2;
    int result = sortAndCount(s, mid) + sortAndCount(mid, e);
    for (auto i = s, j = mid; i != mid; ++i) {
        while (j != e && (*i) > (*j)) {
            ++j;
        }
        result += j - mid;
    }
    std::inplace_merge(s, mid, e);
    return result;. From 1point 3acres bbs
}
.1point3acres网
int countReversePairs(vector<int>& nums) {
    return sortAndCount(nums.begin(), nums.end());. from: 1point3acres
}
. 牛人云集,一亩三分地
```

#### Question 4: Regular Pattern Matching
- Description: 填空题
假设有通配符"$"表示一个或者多个数字'0'-'9', "*" 匹配任意多个字符,判断模式串和给定字符串是否匹配。

bool match(const string& str, const string& pattern);
来源一亩.三分地论坛.
```C++
#include <cctype>

bool match(const string& str, const string& pat) {
    int sn = str.size(), pn = pat.size();
    int i = 0, j = 0;. more info on 1point3acres
    while (i < sn && j < pn) {
        const auto& c = pat[j];
        switch(c) {
        case '*': {
            j++;
            for (int k = i; k < sn; ++k) {
                if (match(str.substr(k), pat.substr(j))) {
                    return true;
                }
            }
            i++;
        }
        break;. from: 1point3acres

        case '$': {
            if (!isdigit(str)) {
                return false;
            }. 围观我们@1point 3 acres
            i++; j++;
            int k = i;
            while (k < sn && isdigit(str[k])) {
                if (match(str.substr(k), pat.substr(j))) {
                    return true;
                }
                ++k;
            }
        }
        break;
. 牛人云集,一亩三分地
        default: {
            if (str != pat[j]) {. more info on 1point3acres
                return false;
            }
            i++;
            j++;
        }
        break;. 1point3acres
        }
    }

    while (j < pn) {
        if (pat[j] == '*') {
            j++;
        }
    }

    return j == pn && i == sn;. visit 1point3acres for more.
}
```  

#### Question 5: Reverse Linked List
- Leetcode 206




Weixin.Onsite.2017.11.01.tar.gz

210 Bytes, 阅读权限: 50, 下载次数: 0, 下载积分: 大米 -1 升

微信面经

评分

参与人数 1大米 +3 收起 理由
starf10 + 3 给你点个赞!

查看全部评分


上一篇:NVIDIA校招
下一篇:请问有10/8号后做完OA拿到hirevue的吗?
我的人缘0
huolongguo 发表于 2017-11-1 23:07:20 | 显示全部楼层
  此人我要顶:
 
100% (1) 【我投】
  此人我要踩:
 
0% (0) 【我投】
希望楼主拿到offer!
回复 支持 反对

使用道具 举报

我的人缘0
wendingp 发表于 2017-11-1 23:08:33 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
code 就不用贴了吧...
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| storypku 发表于 2017-11-1 23:12:36 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
wendingp 发表于 2017-11-1 23:08
code 就不用贴了吧...

嗯,自己复盘写的看的。面完回忆重写了一遍。 来源一亩.三分地论坛.
回复 支持 反对

使用道具 举报

我的人缘0
eyannnnn 发表于 2017-11-2 11:46:53 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主是怎么投的呀~
回复 支持 反对

使用道具 举报

我的人缘0
cheese_harry 发表于 2017-11-2 12:07:20 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
这个是online test?
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| storypku 发表于 2017-11-2 14:27:02 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
eyannnnn 发表于 2017-11-2 11:46
楼主是怎么投的呀~

找人内推的。。。
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| storypku 发表于 2017-11-2 14:27:22 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

不是,onsite
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-6-25 19:53

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表