腾讯音乐后台开发实习一面
C++选手,发面经攒人品。
首先自我介绍
面试官:你做过两个项目是吧,这个流媒体项目是基于安卓的是么...
编码量是怎样的?
音视频的技术难点是清晰度,延迟问题,你是怎么解决的。
实习项目,挑两个参与度比较高的模块来说一下。
> 我把整个项目的各个子模块都说了(说的比较详细)
爬虫系统每天处理URL的量是多少,怎么处理
> 一千万左右
提升性能的话在哪方面进行处理
> 说了epoll多路复用技术实现异步
这是网络上的异步,那么各个任务之间的异步呢,(它实际上是想问,线程池,后面他提示了)
> 说了URL优先级队列的设计优化。
怎么筛选目标数据
> 正则表达式(网上查的)
线程池怎么设计的。
线程池自动扩容,怎么设置临界点的。(不懂)
反爬机制了解多少。怎么解决。
> 说了当时遇到过的验证码,还有IP封禁。其他的不知道。
学一些哪些东西。自己做过demo的例子?
说了实现客户端服务端通信。
基于什么协议,什么机制通信的
> 基于TCP socket,从select到poll,到 epoll 的使用对比和优势
做系统的时候出现一些问题的话怎么去排查。
> 没准备到这个,提到了使用了 netstat 查看监听端口。
netstat 除了监听端口,还能查什么信息。
说下查看IO占用的命令。网络相关的命令。
> 一紧张真的忘了。(后面发现好简单这个问题)
那你说一下Linux常用的命令
说了ps,管道,grep,ifconfig,ps aux, kill ...
自己摸索这个项目遇到什么困难。怎么学习解决的
> balabala
你这边有什么问题?
你们这个部门的业务是和QQ音乐相关么?
相关。商业广告。直播电商带货。
问了学习建议。
还有几面?
三面
居然,居然,居然,没有手撕代码。早上六点起来把所有常见的算法手撕了一遍,没想到呀....
PS:整个面试过程都是结合实习和项目来问。问的比较发散,大部分是考察你有没有真正做过,遇到问题怎么思考和解决的。每提一个问题我都是从项目的角度去回答的,就比如问Linux命令的时候,不是列出这些命令,而是说当时在解决什么问题的时候用了什么命令。问反爬机制的时候,也是结合当时遇到了反爬问题来回答的。大致都是这样说。自我感觉这样回答面试官会比较喜欢听吧,但是第一次面大厂有些紧张,语言表达感觉不是很好!
最后面试官超级nice,爱了。球球让我进入下一轮吧!!!真的超想进
全部评论
(4) 回帖