腾讯WXG暑期实习二三面面经
二面(30 min,2020.04.03,电话面)
- 一面是WXG的视频面(我有发过帖子),二面反而是电话面
- 二面是几天以前的了,有些记不得了,很突然,那时候还在上网课
基础知识
- 了解什么设计模式?(单例,工厂,适配器)
- 单例的对象什么时候实例化(用的时候,生成的时候)
- 如果多个进程都去实例化某个单例,如何保证只有一个?(锁)
- 还有嘛?(如果是进程通信,还有信号量、消息队列、共享内存、管道)
- 什么是信号量?(讲了PV操作,同步互斥)
- 命名管道和非命名管道?
- epoll,select
算法题
atoi怎么实现
答:考虑前面无用的空格,正负符号,是否越界
三面(40 min,2020.04.08,腾讯会议视频面)
- 腾讯会议聊天框不能截图,只能共享屏幕
- 一面用的是牛客网
格式化输出
- 我真的没想到会考这个,我上次使用C/C++的格式化输出还是2年前。。。其实这里用C更方便的。。。
- 然后是用python写的,第一列没试出来。。。这是我第一次用python格式化输出。。。
- 问:这个是什么看懂了吗?(十六进制查看器)
输入:
str = 'This utility is a filter which displays the specified files, or the standard input, if no files are specified, in a user specifi'
输出:
00000000 54 68 69 73 20 75 74 69 6c 69 74 79 20 69 73 20 This utility is 00000010 61 20 66 69 6c 74 65 72 20 77 68 69 63 68 20 64 a filter which d 00000020 69 73 70 6c 61 79 73 20 74 68 65 20 73 70 65 63 isplays the spec 00000030 69 66 69 65 64 20 66 69 6c 65 73 2c 20 6f 72 20 ified files, or 00000040 74 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e 70 the standard inp 00000050 75 74 2c 20 69 66 20 6e 6f 20 66 69 6c 65 73 20 ut, if no files 00000060 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 69 are specified, i 00000070 6e 20 61 20 75 73 65 72 20 73 70 65 63 69 66 69 n a user specifi
我的python代码:
rowCnt = 0 i = 0 str = 'This utility is a filter which displays the specified files, or the standard input, if no files are specified, in a user specifi' n = len(str) print(n) while i < n: row16 = str[i:i+16] row16_to_int = [ord(c) for c in row16] print('%8x' % i, end=' ') for j in range(16): print('%x' % row16_to_int[j], end=' ') print(row16) rowCnt += 1 i += 16
基础知识
就一个题
题目说得很间断,我记录了一些关键词,大意如下:
一个全局唯一的定时器,当上层网络有服务到达,就结束定时器,超时就重连,时间粒度秒级,10-20ms延迟,如何解决?我只能从IO多路复用的角度回答,但我不是很确定。所以我先问能不能理解成服务器要对某个到达事件进行响应,他说,你可以理解成时间到了,服务器要去处理某个服务。
所以我就说,那现成的可以用select,epoll。他问:大流量呢,对fd的限制呢?我说select不行,因为有这些缺点(第一个参数是最大fd,fd个数上限1024,每次使用前都要重新初始化),epoll可以(epoll_ctl添加的是event,复杂度o(1),而且可以动态添加和删除事件)
epoll有哪些工作模式?(ET,LT,区别在于ET快,LT不会漏)具体调用有哪些差别(不会,盲猜乱答。。。)
希望看到这里的有缘人能解答一下这道题的思路。。。
介绍一个你的项目
- 打开答辩时候的ppt开始blabla
- 一介绍完就说时间到了,结束了。。。