腾讯提前批 tme后台开发暑假实习生面经
算是在提前批结束前完成了所有的面试吧。面试过程还是比较长,一度以为已经结束了,就记录一下面试经过吧,过程有点曲折。一共经历了一轮笔试,三轮技术面,一轮GM,一轮HR,算起来也有六次面试了,还是挺长的 。
- 笔试(一小时左右,腾讯会议)
- 两个无序数组排序为一个数组(快排+归并)
- 生产者消费者模型
还是比较顺利的,过程中出了点bug,debug后还好没翻车hhh
- 一面(电话面)
一面在笔试后两天后开始,问的还是比较顺利,就是比较长,面了90多分钟,过程还是挺轻松的,就是不停的问,不过没有录音,只能凭记忆写一下问了什么。
- 面向对象三个特性,讲一下多态实现原理
- Java static方法能不能使用非静态变量,为什么(这里没回答好,被怀疑是不是科班生了,误T-T)
- Java垃圾回收算法
- 讲一下java的sync
- Java建立服务器的过程,代码怎么写(回答socket,bind之类的,似乎回答得不够底层,还得再深入)
- 介绍一下Hashmap,安全吗,有什么安全的
- Atomic类实现原理
- 听过CAS吗,介绍一下
- CAS会出现什么问题,怎么解决
- CAS在硬件里面是怎么实现的(指令层面,X86经典指令集里的)
- 跳表是什么
- Redis有几种数据结构,都是怎么实现的
- 了解RPC吗
- 设计模式了解吗,讲一下单例模式的几种实现,各自的特点
- Mysql隔离级别
- 一个简单的SQL查询语句问题
- 怎么保证数据库数据唯一
- 线程和进程的区别
- 僵尸进程和孤儿进程是什么
- Get和put的区别,有实现过restful服务器吗,在这方面的区别呢
- Linux怎么找到绑定端口的pid
- Top指令发现有个java程序占用率过高怎么处理
- 了解INode吗
- 计算机网络学的是几层结构,讲一下
- TCP和UDP的区别
- UDP报文有长度限制吗,是多少
- UDP能保证传输的顺序吗,为什么
- 10G的QQ号,怎么判断是否存在某个QQ号,,需要多少空间,(最后还问了一个两个两位数相乘结果口算,误T-T||)除了bitmap还有什么方法
- 一个只包含0-9的数组,只有一个数字出现一次,找到他,要求时间复杂度O(n),只能使用一个int的额外空间(提示:一个int有多少位)
- 项目聊天,为什么要做这些,怎么实现的(然后现场使用的时候翻车了,服务器挂了,误T-T||)
- 有什么要问的
- 二面(腾讯会议)
这次面试就比较惨了,好多没答上来,换了个地方面试,整个人状态不太对,不过自己也比较菜,有些是真的不懂,面试完后一度以为自己就挂在这里了,30多分钟就结束了
- 两道题:字符串去空格,字符串所有不重复子串
- http怎么判断tcp报文的结束
- http和https的区别
- TCP backlog参数的作用
- 跳表是什么
- 域名劫持怎么解决
- Mysql怎么定位慢查询
- Redis hash数据类型怎么实现,rehash是怎么实现的
- Redis使用什么hash算法
- redis为什么要单线程,现在计算机都是多核了,不会浪费吗
- mysql事务实现原理
这里觉得是挂在二面了,因为是隔了两个多星期才开始三面,中间以为是挂了,还是调整了好一段时间的,最后是一面面试官打电话说知道我二面表现不是很好,但是之前笔试和一面觉得还行,代码质量挺好,把我捞了起来,而且三面的主管出差了,才让我一度以为是挂了,只是简历还一直被锁着没释放而已,疯狂给面试官送火箭,嘎嘎嘎。这里主要还是想说笔试也不止要关注算法,还要关注写的代码的质量,我怀疑我就是因为写的代码质量好才捞起来的(羞耻)。不过其实二面出现问题后自己很伤心,低落了很久,也失去了学习的动力,好几天没怎么学习也没去投别的公司的简历,冷静了几天后情绪也平静下来,也好好反省自己的面试表现,还是收获不少的,我觉得对我来说,调节好情绪比不停用面试来轰炸更加有用。
- 三面(电话面)
这次是突然就打电话就开始了,十几分钟结束,还是比较顺利的
- 自我介绍
- C++了解吗,go了解吗
- C++多态原理讲一下
- Tcp了解吗,讲一下
- Tcp报头长度,加上非必须字段后呢
- Socket编程写过吗
- 怎么实现非阻塞的服务器
- 多线程写过吗
- 在学校课后时间会做什么
- 学校有什么实验室和社团吗
- 用过什么数据库,MongoDB了解吗
- Linux了解吗
- 脚本语言了解吗(用过python,lua),了解shell脚本吗
- 怎么快速判断一个数是不是2的n次幂
- Git用过吗
- 你觉得上手go或C++要多久
- 什么时候可以实习,实习多久
这里还是有个小插曲的,三面结束后立刻就更新为HR面,开心好久,然后下午一看又更新为GM面委会,瞬间变脸,整理情绪后又开始苦逼刷面经和复习。然后过一天还是两天后早上起来发现又更新为HR面了。。。迷惑行为。虽然是过山车但还是挺开心的,然后就开开心心等HR面试了,然后那天打王者收到邮件说5点半开始HR面试,然后就继续开开心心打王者了,emmm,然后三点多HR小姐姐就打电话过来,以为是提前面试,然后是通知说要加面一个面委会。emmm。。。所以当天先面试了HR,面完了就收到面委会的时间通知。然后又是苦逼刷面经和复习了。。。
- HR(电话面)
- 自我介绍
- 计算机不同语言跨度大不大
- 介绍自己印象最深的项目
- 项目中有哪些业务印象深刻
- 项目遇到困难怎么解决
- 学习方法
- 有什么要问的
- GM面委会
这个面试一开始面试官就说大概50分钟,最后结束50分40秒,社会社会。GM面的确是吓人,毕竟是其他部门大佬来面,准备的那几天的确是高度紧张,毕竟是最后一面,而且人事什么的都面过了。面试的过程还是比较顺利的,开始面试后紧张就消失了,还是比较顺利的。就是mysql为什么不用二叉树回答不怎么上了(也怪自己,非要提一口二叉树,该,骸)
- 自我介绍
- 项目介绍,会问项目实现过程还有特点,问项目实现过程的不合理的地方,当时有想过吗,要怎么解决(问很久)
- 叫你自己实现map要怎么实现
- Hashmap呢,rehash怎么解决,rehash时读和写怎么解决(可参照redis中hash实现)
- Mysql里面的索引有什么用
- 为什么用B+树,不用二叉树
- Linux比较熟悉的命令,怎么查看一个进程打开了哪些文件
- Linux系统一般关心哪些指标
- 使用过git吗,git本地分支和远程分支区别
- 你使用git时是怎么操作(开分支合并)
- Tcp和udp的区别
- 哪个快,如果tcp是长连接呢
- 你说tcp是基于流的那你要怎么解决一个socket收到多个包合并后的包呢
- 进程通信的几种方式,哪种快,为什么
- 10亿个数要怎么找到最大的1w个数,时间复杂度
- 有什么要问的
- 腾讯算是自己春招面的第一个公司,没想到要面这么多次,中间很多次觉得就到这里了,就觉得生活好苦啊,找工作好苦啊,好想放弃不努力啊,好想混日子啊,特别是二面结束的那几天,实在是怀疑自己是不是找不到工作了。。。T-T
- 一开始没面试经验,还是不怎么会面试的,没想到一次腾讯就能面试经验upupup(面了六次...)。很多面试官也是工作之余来面个试,在面试前是不会准备问题和看你的简历,不了解你会的方向,这个时候自我介绍很重要,自我介绍的时候可以把自己比较擅长的东西的关键词着重强调一下,面试官听到关键词就会收到信号,往你提及的地方提问,这个时候就可以开启滔滔不绝模式。开始聊high后一般情况都不会太差,然后遇到不会的问题,回答的时候尽量往自己擅长的领域去聊,避免被连环暴击。面试官在问问题的时候问题很短,但这个时候回答就不能太短,要不很容易留白然后开始尴尬 ̄□ ̄||。多说点话总是好的。
- 还有一个是项目问题,项目不一定要很高大上,但是一定要了解实现的细节和总结过程中的记忆深刻和有得说的地方,我简历上的项目其实都还是比较简单的,在面委会的时候被疯狂Q,不过很多都是自己之前有考虑过和想过解决方案的,回答起来还算有话可说,所以真的要了解自己项目的特点和可以改进的地方。其实自己在面委和HR问项目的时候就感觉跟讲故事一样,讲的时候当时一个一个bug的场景也会浮现出来,也算是充满回忆,体验还是比较好的。
现在是已完成阶段,希望早日收到HR小姐姐的oc
#实习##面经##腾讯音乐娱乐##Java工程师#