今天跑去微信面试实习生了。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jusonalien
V2EX    职场话题

今天跑去微信面试实习生了。。

  •  1
     
  •   jusonalien 2016-03-08 20:21:45 +08:00 10437 次点击
    这是一个创建于 3508 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微信后台实习生面试(一面) (2016/3/8 3 : pm--5 : pm)

    走到 TIT 创意园的时候才两点多一点点,约的时间是三点钟,等了大概半个小时多一点。面试官是一个三十来岁的男人,一上来就对着我的简历问我项目,他貌似没弄过虚拟化相关的东西,更不懂 qemu-kvm 的东西了,然后就问我这个缓存的意义啊,他从头问到尾,叫我解释一下这个虚拟机的体系结构。。 blabla 解释了一大堆他终于听明白了,然后说哎呀你们这个东西还是蛮有意思的,然后就叫我做题了,他直接在草稿纸上写了几道题给我,(写了四十分钟)题目是这样的

       1.实现一个字符串拷贝函数,要求可靠稳定,写得七七八八,感觉还 ok 吧。。

       2.一个程序分析 ,能分析出是六个出来,还让我画图给他解释一下,他说还挺清晰,不过那个关于缓冲区的 trick 就没答上来叫我自己去做实验验证一下。。答案和题目都在这个链接里面了。。我去。。。: http://blog.csdn.net/chdhust/article/details/10579001

       3.考察大端小端模式的转换的 ,有点坑爹,给了他提示之后才想起来大端小端,然后才一步步分析出来=0=

      

    1 #include <stdio.h>
    2
    3 int main(void) {
    4
    5 short x[] = {1,2};
    6 printf("%x \n",(int)x);
    7 return 0;
    8 }
       4.叫你实现二进制串的反转,比如 32Bit 的二进制数 头尾反转过来,要求尽可能高效。。结果只写了一个暴力的。。问我还有没有优化空间,我就说可以两头同时转换。。。然后他问还有没有优化的空间。。。想了很久都没想出来,然后叫我回去再思考一下。。。

      最后问我 TCP IP 怎么样,我说我网络只是上过课,没有太多实践过-。-,然后问我你是更多的偏向于操作系统一类的吧?我说是啊,然后又问我 fwrite 和 pwrite 的区别是什么。。我支支吾吾了几下没答上来。。。

      最后他问我还有什么问题问的吗? 我问了他实习生过来的话你们会安排什么任务。。他就说会有导师带。。 blablabla 一堆。。。然后送我走了,走的时候和我说平时要多多注意一些细节的东西。。哎:(

      我最后问他我这次面试结果通过了吗?他好像挺不愿意说,就叫我回去等电话通知。

      我回去坐地铁的时候,问了一下那个帮我内推的师兄说这个会不会挂了?。。他说面试结果这一类的问题是不能问的。。。

      就这样两个小时过去了,写题目用了大概四十分钟吧。。。问项目和题目问了块一个半小时了。。。时间过的很快。。

      哎 感觉很没底啊 QAQ 跪的概率应该有 50%吧。。。。求不要给我跪 TAT 。。。。。。

      现在的情况是只能慢慢等了咯。。。看命吧。。要是还能收到面试邀请就继续更新这个帖子。。
    最后 各位 V 友评估一下本的希望大不大啊 QAQ

    60 条回复    2016-03-10 10:03:41 +08:00
    Lpl
        1
    Lpl  
       2016-03-08 20:38:41 +08:00
    会不会出现:我就是那个三十多岁的男人
    POP
        2
    POP  
       2016-03-08 20:41:52 +08:00
    我就是那个三十多岁的男人
    zonghua
        3
    zonghua  
       2016-03-08 20:44:12 +08:00 via iPhone
    有没有 web 方向的?
    27
        4
    27  
       2016-03-08 21:08:14 +08:00
    要你多多注意一些细节的东西,就是委婉地说楼主你的细节问题太多吧。。
    snow4young
        5
    snow4young  
       2016-03-08 21:08:28 +08:00
    感觉你应该过了的节奏
    talentsnail
        6
    talentsnail  
       2016-03-08 21:13:38 +08:00   2
    刚满二十岁的面试官:我有那么老吗?
    22too
        7
    22too  
       2016-03-08 21:17:46 +08:00
    姐夫痛哭流涕,现在的年轻人,怎么这样啊,看起来有三十多吗?你不用来了。。。
    miyuki
        8
    miyuki  
       2016-03-08 21:27:36 +08:00 via Android
    我就是那个三十多岁的男人。很抱歉你未被录用。
    jusonalien
        9
    jusonalien  
    OP
       2016-03-08 21:51:46 +08:00
    @27 没办法呀。。问了我很多 IO 函数的细节。。。其实大部分我以前有留意过。。太久没摸过就忘了。。
    jusonalien
        10
    jusonalien  
    OP
       2016-03-08 21:52:44 +08:00
    @zonghua 我是面试 C++后台的。。。。
    jusonalien
        11
    jusonalien  
    OP
       2016-03-08 21:53:48 +08:00
    @snow4young 一半机会过 一半机会跪啊 TAT
    wodesuck
        12
    wodesuck  
       2016-03-08 22:00:15 +08:00   1
    二进制翻转可以用位运算整段整段地翻嘛
    x = (x&0x0000ffff<<16)|(x&0xffff0000>>16); // 前 16 位和后 16 换
    x = (x&0x00ff00ff<<8)|(x&0xff00ff00>>8); // 8 位 8 位地换
    剩下的你懂的
    jusonalien
        13
    jusonalien  
    OP
       2016-03-08 22:08:56 +08:00
    @wodesuck 哇.....好像是的。。。这是你自己想的吗。。?
    htfy96
        14
    htfy96  
       2016-03-08 22:15:58 +08:00
    @wodesuck 还不如暴力打个 2^16 的表快…… GCC 的__builtin_popcount 之类的就是暴力打表
    ethego
        15
    ethego  
       2016-03-08 22:51:11 +08:00
    http://blog.csdn.net/chdhust/article/details/10579001 这博客说的真的是对的吗。。我拿 gcc 编译跑了只有 6 个-啊。。
    jusonalien
        16
    jusonalien  
    OP
       2016-03-08 23:00:59 +08:00
    @ethego 你 printf 的时候有没有去掉\n
    onlyice
        17
    onlyice  
       2016-03-09 00:07:48 +08:00 via Android
    楼主是华师的吗?好像我们是微博好友
    jusonalien
        18
    jusonalien  
    OP
       2016-03-09 00:15:42 +08:00 via Android
    @onlyice 啊 是啊。。。。是 scnu 的。。
    snnn
        19
    snnn  
       2016-03-09 00:17:00 +08:00 via Android
    把你写的字符串复制的函数贴上来看看
    zeusLeeJh
        20
    zeusLeeJh  
       2016-03-09 00:22:11 +08:00
    @jusonalien 有意思竟然可以在 V2EX 上遇到 scnu 的
    jusonalien
        21
    jusonalien  
    OP
       2016-03-09 00:23:23 +08:00 via Android
    @zeusLeeJh 额 请问您是?
    jusonalien
        22
    jusonalien  
    OP
       2016-03-09 00:24:33 +08:00 via Android
    @snnn 迟点再贴吧,主要还是考察我对错误机制的判定。。
    zeusLeeJh
        23
    zeusLeeJh  
       2016-03-09 00:26:58 +08:00   1
    @jusonalien 只是一个喜欢潜水的校友罢了
    oplang
        24
    oplang  
       2016-03-09 01:06:35 +08:00   1
    @wodesuck 你式子里的“)”放错地方了,运算优先级错误,会先偏移再&。方法是分治法,完整程序如下:

    #include <stdio.h>

    unsigned int ReverseBits (unsigned int x) {
    x = ((x & 0x0000ffff) << 16) | ((x & 0xffff0000) >> 16);
    x = ((x & 0x00ff00ff) << 8) | ((x & 0xff00ff00) >> 8);
    x = ((x & 0x0f0f0f0f) << 4) | ((x & 0xf0f0f0f0) >>4);
    x = ((x & 0x33333333) << 2) | ((x & 0xcccccccc) >>2);// 0011 | 1100
    x = ((x & 0x55555555) << 1) | ((x & 0xaaaaaaaa) >>1);// 0101 | 1010
    return x;
    }

    int main () {
    unsigned int x = 8;
    printf("%u\n", ReverseBits ( x ));
    return 0;
    }
    bk201
        25
    bk201  
       2016-03-09 09:01:41 +08:00
    基本是挂了,除非限定时间没有更好的
    jusonalien
        26
    jusonalien  
    OP
       2016-03-09 09:04:53 +08:00
    @bk201 为啥呀 0 。 0
    kiwi95
        27
    kiwi95  
       2016-03-09 09:44:59 +08:00
    打印横杠那个结果是不确定的,虽然按分析确实是可能有 8 个,实际编译运行可能是 2 个, 4 个,或者 6 个,多运行几次结果可能不一样
    ikw
        28
    ikw  
       2016-03-09 09:46:04 +08:00
    @jusonalien 因为如果是第一选择会很积极的
    jusonalien
        29
    jusonalien  
    OP
       2016-03-09 09:47:13 +08:00
    @zwpaper 面试官那时候回应说还要回去多面试几个人,然后比较一下才会有结果 00
    snow4young
        30
    snow4young  
       2016-03-09 10:02:12 +08:00
    不过给你发红包,过了给我发红包~
    exoticknight
        31
    exoticknight  
       2016-03-09 10:03:35 +08:00
    我报了前端还没有通知……
    ikw
        32
    ikw  
       2016-03-09 10:11:52 +08:00
    @jusonalien 所以你只能等,今天没消息就危险了
    skylancer
        33
    skylancer  
       2016-03-09 10:20:48 +08:00
    人家都说细节问题太多
    十有八九就跪了

    还有居然问他面试过了没有这种问题

    ..GG
    shenqi
        34
    shenqi  
       2016-03-09 10:43:54 +08:00
    GG 了的节奏,我就是那个三十多岁的男人系列。
    samueldeng
        35
    samueldeng  
       2016-03-09 10:59:44 +08:00
    我倒是觉得蛮大的~
    drush
        36
    drush  
       2016-03-09 11:25:22 +08:00
    主找下一份吧
    orcusfox
        37
    orcusfox  
       2016-03-09 11:27:43 +08:00
    不是在公众号可以查状态嘛
    magicdawn
        38
    magicdawn  
       2016-03-09 11:39:11 +08:00
    3.考察大端小端模式的转换的 ,有点坑爹,给了他提示之后才想起来大端小端,然后才一步步分析出来=0=

      

    1 #include <stdio.h>
    2
    3 int main(void) {
    4
    5 short x[] = {1,2};
    6 printf("%x \n",(int)x);
    7 return 0;
    8 }

    这是考啥啊~这段代码没体现大小端啊
    magicdawn
        39
    magicdawn  
       2016-03-09 11:49:56 +08:00
    printf("%x \n", *((int*)x)); // 20001 这样?
    Felldeadbird
        40
    Felldeadbird  
       2016-03-09 12:08:52 +08:00
    我竟然不会……看来我的水平还是很低。
    ichigo
        41
    ichigo  
       2016-03-09 16:05:51 +08:00
    情商堪忧
    skylancer
        42
    skylancer  
       2016-03-09 16:30:32 +08:00
    @ichigo 哎哟 遇到一个看死神的人呐- -
    acros
        43
    acros  
       2016-03-09 16:31:11 +08:00 via iPhone
    大小端是靠 union 吧。上面的代码是自动转精度了,不是内存上读取不同啊。
    yuriko
        44
    yuriko  
       2016-03-09 17:04:06 +08:00
    基本是死了……
    二进制翻转不会,只能说是你见得太少……大扣分
    TCP IP/ fwrite pwrite 答得不好基本就死了

    跪的概率不是 50%……是 90%
    vanxining
        45
    vanxining  
       2016-03-09 17:08:12 +08:00
    @yuriko 二进制翻转对应届生才是重点吧,其他都是细枝末节了,工作了自然能接触到。
    楼主不应该说熟悉操作系统。这些系统调用有几百个,怎么可能全知道。
    全面算法加一些语言知识对应届生反而是最好的。
    yuriko
        46
    yuriko  
       2016-03-09 17:13:36 +08:00
    @vanxining 都是实习生了……当然是应届生咯。二进制翻转作为一道小算法题还是很经典的,没见过的确是见得太少。
    TCP IP 其实也是问的很多的,这个也没做好准备,经验不足。

    没啥好问的时候,找些经典的来问是很正常的, TCP/IP 和算法题常见的很。后面换了个题也是在给机会,可惜 LZ 没抓住。

    一般一道算法题,看看逻辑思路怎么样;一道系统题看看你的基础知识如何;再手写点代码或者看看项目,看看你实践能力如何。一般都是这个套路,两个点不行的确有点……
    jusonalien
        47
    jusonalien  
    OP
       2016-03-09 17:19:09 +08:00 via Android
    @yuriko 前面的题目我大部分都 OK ,有些他给了一些提示都可以完全分析出来,并且我们前面大部分时间都是在聊项目,后面才是当场出了一些题目做做他也表示对我的项目很有趣==,只能说有些东西没接触过就是不会的了,虽然挂的几率还是很大
    Lihz
        48
    Lihz  
       2016-03-09 17:45:01 +08:00
    感觉你已经半只脚踩进取了
    jusonalien
        49
    jusonalien  
    OP
       2016-03-09 17:47:04 +08:00
    @Lihz 啥意思。。。?
    bengol
        50
    bengol  
       2016-03-09 18:10:19 +08:00
    第一个题目才是重点吧
    jusonalien
        51
    jusonalien  
    OP
       2016-03-09 18:45:55 +08:00
    @onlyice 额 你是华师的师兄吧? 我记得你也是小企鹅的员工。。。?
    onlyice
        52
    onlyice  
       2016-03-09 18:56:57 +08:00 via Android
    @jusonalien 是的哈哈,我 09 级的
    jusonalien
        53
    jusonalien  
    OP
       2016-03-09 19:00:38 +08:00
    @onlyice 膜拜一下~ 遇到远古神了
    recovery0394
        54
    recovery0394  
       2016-03-09 20:04:08 +08:00
    @Lpl 90 的小屁孩
    luckybird
        55
    luckybird  
       2016-03-09 21:35:29 +08:00
    @onlyice 同是华师 09 级的飘过
    chiu
        56
    chiu  
       2016-03-09 21:35:44 +08:00
    大小端怎么转换?
    只遇到过判断大小端的题目
    livecoding
        57
    livecoding  
       2016-03-09 21:59:31 +08:00
    @wodesuck 讲真这个效率不一定高
    neoblackcap
        58
    neoblackcap  
       2016-03-10 00:33:46 +08:00
    @chiu 用 @oplang 提出的翻转二进制的方法,提取前两步不就可以?不过感觉好像有点不是很严谨,是不是还应该断一下 size 。否则 64bit 的整型大小端直接套用就不行了
    jasonliao
        59
    jasonliao  
       2016-03-10 09:46:15 +08:00 via iPhone
    @exoticknight 同前端 看来可以认识一下
    matthewz
        60
    matthewz  
       2016-03-10 10:03:41 +08:00
    不知道国内的规矩

    在 FLAG 最后问面试官过不过属于作死行为
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2734 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 14:58 PVG 22:58 LAX 07:58 JFK 10:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86