废柴的我该如何谈恋爱?

一亩三分地论坛

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

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
查看: 834|回复: 7
收起左侧

Weixin 北京面经

[复制链接] |试试Instant~
我的人缘0
storypku 发表于 2017-11-1 23:02:52 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (12)
 
 
0% (0)  踩

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

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

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

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

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

话不多说,上面经:

***attention: 附件跟这个帖子内容一样。***


# Tencent WeiXin Onsite 复盘

### Question 1: 智力题:赛马
##### Description:. From 1point 3acres bbs
  64匹马,每场8赛道赛马。求决出前四名所需的最少比赛场数。(不能计时,但可以根据快慢推理,如A > B && B > C => A > C
. more info on 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场。. From 1point 3acres bbs
- Step 4: 如果C1未能斩获铜牌,则D1已经确定无缘第四名,第四名由Step 3比赛中的第三名获得。否则D1与其进行一场加赛,决出最终谁是第四名。
- Conclusion: 共需比赛10场或者11场。

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

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

- O(nlogn) Time, O(n) Space

```c++
vector<int> topK(vector<int>& nums, unsigned k) {
    vector<int> result;
    if (k == 0) return result;

    std::priority_queue<int, vector<int>, std::greater<int>> pq;
    for (auto& c : nums) {
        pq.push(c);
        if (pq.size() > k) {
            pq.pop();
        }
    }

    while (!pq.empty()) {
        result.push_back(pq.top());
        pq.pop();
    }
    std::reverse(result.begin(), result.end());
    return result;
}. 围观我们@1point 3 acres
```

##### BinarySearch
. 1point3acres
- O(n) Time, O(1) Space

```C++
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);
    }
. visit 1point3acres for more.
    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;
. visit 1point3acres for more.
    vector<int> result;.1point3acres网
    for (auto& c : nums) {
        if (c >= kthV) {
            result.push_back(c);
        }
    }
    // std::sort(result.begin(), result.end());
    return result;.1point3acres网
}-google 1point3acres
```

### 逆序对的个数
. more info on 1point3acres
假设有一个数组nums,如果存在 i < j 且 nums > nums[j] 则称为一个逆序对。
. 留学申请论坛-一亩三分地
例如, 2 4 3 1 的逆序对为 3:1, 4:3, 4:1, 2:1 共1 + 2 + 1 = 4 对
又如, 2 6 8 9 5 1 的逆序对数为1 + 2 + 2 + 2 + 1 = 8 对

编码实现之。

```C++ 错误答案
int countReversePairs(vector<int>& nums) {
    std::stack<int> stk;
    int result = 0;
    for (auto iter = nums.rbegin(); iter != nums.rend(); ++iter) {
        int val = *iter;
        while (!stk.empty() && stk.top() >= val) {. 1point3acres
            stk.pop();. from: 1point3acres
        }
        result += stk.size();
        stk.push(val);. 留学申请论坛-一亩三分地
    }
    return result;
}
```

~~~
```C++ 正确答案 Leetcode-493
.留学论坛-一亩-三分地
#include <algorithm>

int sortAndCount(vector<int>::iterator s, vector<int>::iterator e) {
    int n = std::distance(s, e);
    if (n <= 1) return 0;
    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;
}

int countReversePairs(vector<int>& nums) {
    return sortAndCount(nums.begin(), nums.end());
}

```

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

bool match(const string& str, const string& pattern);

```C++
#include <cctype>
. from: 1point3acres
bool match(const string& str, const string& pat) { 来源一亩.三分地论坛.
    int sn = str.size(), pn = pat.size();
    int i = 0, j = 0;
    while (i < sn && j < pn) {
        const auto& c = pat[j];-google 1point3acres
        switch(c) {
        case '*': {. From 1point 3acres bbs
            j++;. 围观我们@1point 3 acres
            for (int k = i; k < sn; ++k) {
                if (match(str.substr(k), pat.substr(j))) {. 一亩-三分-地,独家发布
                    return true;
                }
            }. 一亩-三分-地,独家发布
            i++;. 围观我们@1point 3 acres
        }. 1point3acres
        break;

        case '$': { 来源一亩.三分地论坛.
            if (!isdigit(str)) {
                return false;.1point3acres网
            }
            i++; j++;
. From 1point 3acres bbs            int k = i;. 1point3acres
            while (k < sn && isdigit(str[k])) {
                if (match(str.substr(k), pat.substr(j))) {
                    return true;
                }
                ++k;
            }
        }
        break;

        default: {
            if (str != pat[j]) {
                return false;
            }. from: 1point3acres
            i++;
            j++;
        }
        break;
        }
    }

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

    return j == pn && i == sn;
}
.本文原创自1point3acres论坛```  

#### Question 5: Reverse Linked List
- Leetcode 206. visit 1point3acres for more.




Weixin.Onsite.2017.11.01.tar.gz

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

微信面经

评分

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

查看全部评分


上一篇:请问有人面过evernote吗?求面经!
下一篇:请问有10/8号后做完OA拿到hirevue的吗?
我的人缘0
huolongguo 发表于 2017-11-1 23:07:20 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  77% (27)
 
 
22% (8)  踩
希望楼主拿到offer!
回复

使用道具 举报

我的人缘0
wendingp 发表于 2017-11-1 23:08:33 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (11)
 
 
0% (0)  踩
code 就不用贴了吧...
回复

使用道具 举报

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

嗯,自己复盘写的看的。面完回忆重写了一遍。
回复

使用道具 举报

我的人缘0
eyannnnn 发表于 2017-11-2 11:46:53 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (3)
 
 
0% (0)  踩
楼主是怎么投的呀~

21.000+ students read the Road to learn React. The course weaves all the opinionated roadmaps into one roadmap to master React. It gives you all the fundamentals in React. You will build a Hacker News App along the way.

回复

使用道具 举报

我的人缘0
cheese_harry 发表于 2017-11-2 12:07:20 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  92% (154)
 
 
7% (12)  踩
这个是online test?
回复

使用道具 举报

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

找人内推的。。。
回复

使用道具 举报

我的人缘0
 楼主| storypku 发表于 2017-11-2 14:27:22 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (12)
 
 
0% (0)  踩

不是,onsite

With React+D3v4 you'll learn the basics of building fast data visualization components in about an hour.

回复

使用道具 举报

游客
请先登录

本版积分规则

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

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

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

GMT+8, 2018-9-21 14:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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