(后端实习)字节跳动+腾讯面经(已拿字节offer)

更新:算法题简要题解

wxg一面

1.topk问题:堆

2.复制二叉树:先遍历一遍,复制一棵普通二叉树,然后用unordered_map映射两棵树的对应节点,在遍历一遍给随机指针赋对应的值即可。

3.感觉是acm风格题,题意具有迷惑性,看破后就是预处理+多重背包

csig一面

1.地雷生成:将n*m个格子放入vector,然后洗牌算法打乱取前k个即可

字节跳动一面

1.leetcode 152

2.leetcode 853

字节跳动二面

1.先二分出k的位子,然后这个位子开始二分左边有x个,那么右边就有k-x个,根据这个情形是否是我们需要的答案就可以判断了。

2.栈+dfs+时间戳标记

3.裸的ac自动机

换部门一面

1.大整数加法

2.leetcode 470

3.面试官说是网上有,表示没找到,我的做法是unordered_map统计每个串出现次数,然后讲次数排序就得到了前k大的次数,因为要严格按照顺序打印,(例如k=1,但是出现次数最多的有两个字符串),所以再去遍历原string数组,然后查看这个string的次数是否属于前k大,(这里可以维护一个mutil_set),找到就删去即可。

换部门二面

1.leetcode三数之和

2.leetcode双指针

3.直接dfs大力搜,可以给面试官分析一下复杂度,因为每个格子除去移动过来的方向,只可能有三种方向,那么整个dfs树可以看成是一个最多只有三个子节点的数,并且越搜索到后面其实会越窄,深度最多4*4

,所以上界只需要计算一个等比数列 1 3 9 ....,而且这个上界距离实际复杂度非常的远。

换部门三面

表示第i步走到(j,k)有多少种方案,最后统计出所有合法方案,除4^k即可,需要滚动数组优化一维空间。


因为是做ACM的,所以此面经可能对于大多数人不具备参考价值,但牛客还是有不少acmer的,所以还是写了一下。辛辛苦苦啃基础书看牛客面经,特此还愿。

年后开始投简历,方向是后端开发,字节是小伙伴内推的,腾讯是想做游戏自己官网投的。

微信后台开发

wxg面试官先打了电话问是否有意向,可能是因为官网投的互娱,肯定同意啊,然后面试官介绍他们是微信后台开发,说了下具体干啥的,聊了快有半个多小时了,感觉他们很重视,所以对腾讯特别有好感,然后约第二天下午面试。

wxg一面

每题都是写完,面试官看一遍然后讲一下复杂度,最后才知道面试官是好几年前的金牌。。。
1.topk问题
2.给定一颗二叉树,每个节点都有一个指向树上随机节点的指针,拷贝这棵树
3.给定一个长度n的数组A和一个数k,问你能否从数组A中取出若干个数使得它们的和为k的倍数。就是整除的意思。
n[1,1e6],A[0,1e9],k[1,2000],时限两秒
做法:处理一下数组A,每个值mod k然后统计次数,再做一个可行性背包就行了,因为考虑到次数很大而且面试力求表现,写了二进制优化。

然后瞎聊天,聊得很愉快

官网状态更新复试。。一直等然后有一天就灰了

腾讯第一次鞭尸,csig健康事业部

也是先打电话约第二天面试,面试官最后还特地提示好好准备哦!

一面

1.扫雷地雷生成,n*m矩阵生成k个雷。

2.输入网址回车到显示页面的过程

3.讲一下c++内存

4.虚函数了解吗

5.写一下多态,然后围绕着这个展开问了很多

6.stl了解吗?push_back复杂度证明,扩容机制

还有一部分不太记得了,抱歉。

二面

效率很高,上午面完下午就约晚上二面。

没想到这次不走寻常路,准备的完全没用。。。。

1.面试官:看你是做ACM的,你在这个过程中有什么总结吗?

我:没太明白他想问啥。。就随便说了一下自己的经历。

面试官:不不,我指的是对于一类问题有什么总结之类的吗?

感觉答的不太好。。。

2.面试官:竞赛中,你在团队主要负责哪些方面呢?

我:数据结构,图论,dp,这些比较擅长把,数论筛法都分给了队友,其他方向基本我也可以。

面试官:那我问你个题吧,给你两个队列一个栈,栈是空的,问你能不能把其中一个变成另外一个

我:(一开始脑子短路了,以为队列只能出队进栈,然后出栈进队,利用栈去完成。)想了一会儿感觉只能模拟,就说了应该模拟就可以,给他说了咋做。

面试官:我们可以先看下元素是否满足要求,其实可以直接判断他是否可行的,你再想想

我内心:。。。我默认元素集是一样的啊,想了一会儿想不到了。。。

面试官:其实无论如何都是可以完成的,这个后面你可以去网上查一下。

我:内心吐血(啥玩意啊,面完才想通了,一个队列自身出队再进队,这样相当于移动了元素的位置,然后直到另外一个队列的队头相同就可以把这个放进栈里存起来了,问题是我脑子想当然限制了这些操作,默认以为只能出队进栈,出栈进队,有苦说不出。。。)

3.面试官:看你给学弟讲过课,你给我讲一个算法吧。

先给他讲了一下迪杰斯特拉

面试官:讲的还可以,但我是会这个算法的,所以我听得懂,balabala

下面就是瞎聊了。

4.面试官:再问一个工程上的问题吧,在一张图中有两个点,他们之间什么情况我们统统不知道,你怎么去找到他两之间的道路呢。

我:想了半天也没憋出什么来,双向bfs?dij?条件太少了吧。。。。胡扯了一下

面试官:你听A吗?

我:。。。。。。当然听过,给他说了一下A的思想,然后解释了一下因为A的估值函数不好找,所以竞赛中一般不怎么用。

面试官:工程上这是非常有效并且实际使用的一个方式,然后解释了很多。

5.对未来的职业有什么规划吗

反问环节,聊天。

感觉面得很烂。

不出意料第二天灰了。

腾讯第二次鞭尸

没打电话,直接邮箱收到了面试邀请函,上面写的是业务运维??????

直接拒了

字节后端开发一面

1.dp最大连续子序列乘积

2.给定n个车的初始车速,方向是相同的,问过了无穷大时间后,有多少堆车。

3.证明一下push_back复杂度

4.unorder_map,map区别,然后延伸到了红黑树,追问了一些细节

5.瞎聊

一面自我感觉非常的烂,因为是第一次面试,非常紧张,前面两个简单题目浪费了很久。小伙伴是他们部门的,所以还是给了二面的机会(感谢小伙伴的大面子)。

字节后端二面

1.给定一个升序数组,再给定一个k(在数组中),找到离k最近的c个数中的最大最小值。意思是和k绝对值的差最小的那c个数字,c可能会特别大,要求最优解。

2.描述了一个业务场景,然后面试官编不下去了,直接说给你一个有向图,输出所有的环。

3.又开始描述场景了,说头条会有很多的用户评论,但是有一些敏感词是不可以发出来的,我们有这个敏感词的清单,如何去检索评论里是否包含敏感词。

4.说一下虚拟存储器吧。

5.聊一下竞赛的看法,给我介绍了一下部门对实习生的情况

6.瞎聊

字节后端三面

改了两次时间。。。。然后和我说部门没hc了,感觉还是自己太菜了。

hr说感觉挺对不起我的(猜测是朋友的面子,毕竟是一个部门),主动说可以帮推荐给其他hr看看。

换部门重新面试

一面居然是个小姐姐,万万没想到

小姐姐特别态度特别好,气氛全程都很轻松,五星好评

1.说一下数据库的索引吧

2.数据库主键xxx,数据库xxxxx

(数据库还没复习,简历也没写啊,球球姐姐您别问了),统一回答都是不会,

但是我准备了数据结构所以把b树,b+树,b*树都给讲了一遍。估计姐姐看我都快自闭了,说问点别的吧。

3.用过ping吗, 是什么协议

4.数据链路层是干嘛的

5.TCP挥手为啥是四次

6.知道syn泛洪攻击吗?有什么处理方案吗?

7.输入网址到显示页面的全部过程

8.arp协议是咋样的,有安全问题吗?具体是怎样的?

9.https知道吗

10.https的连接过程,这个说的非常详细、非对称加密、对称加密、hash、证书、握手信息。

11.证书机构名字是啥? (黑人问号脸,回答了CA)

12.知道哪些加密算法?

面试官:我们来做点题吧!(终于来了),看你表情很期待吗?

我:挺期待的。

1.大整数加法

2.random7构造random10(翻车了,回头网上查了一下感觉很巧妙,没做过真不会。)

3.给定string数组,严格按照出现顺序打印出现次数前k多的字符串,复杂度最优

第三题我的做法小姐姐没理解,然后给了个案例我两一起走一遍。小姐姐明白后说:哇哦,这样也可以。

二面

二面面试官挺好的,评价说我是他面过的候选人里coding能力数一数二的。

1.有很多处于close_wait的tcp连接,分析一下原因

2.继续说一下处理方案

3.全双工、半双工、单工说一下

喜闻乐见的写题环节

1.打印数组中三个元素相加为0的组成方案

2.找出字符串中最长的不重复的连续子串

3.4*4的带权矩阵找从(0,0)到(3,3)权值和最小的路径

4.聊对竞赛的看法,问为啥想来实习

回答:打竞赛也要恰饭的。面试官一脸憋笑。。。

5.对于工程和竞赛不同做好了心理准备吗

聊天

三面

感觉是个大佬,气质和谈吐非常流弊!

互相自我介绍,受宠若惊。

然后让我自己说了一下前两面都问了啥,自我评价一下自己前两面的发挥

然后聊了一会儿。

喜闻乐见写题

1.给定n*n的矩阵,一个坐标(i,j),再给一个k,问从这个坐标走k步没有走出矩阵的概率是多少。

写完解释一下思路,然后问了一下可能存在什么问题,int可能会爆,最后计算概率会有精度误差.

面试官:算法题对你应该不是问题,前几面面试官对你评价都很优秀,看你数据库不太行,我们来设计数据库吧。

2.教师、学生、课程、教室。

要求查询学生课表、老师课表、教室安排情况。

磕磕巴巴给写出来了,被挑了很多问题,并且从简单的情况拓展了很多,大概就是数据库三范式的要求吧。

面试官:你算法底子非常扎实,的确是做竞赛出身的,但是工程上的能力我觉得距离实际工作还有一段距离,听到这里有点难过以为要挂了。。。。

后面就是聊能实习多久,啥时候来,如果你实习表现ok我们给你正式校招offer你愿意留下吗,讲了很多。

然后瞎聊。

三面面试官说第一题对我的预期是10分钟搞定,还好勉强完成。。。。

hr面就问了入职时间,能干多久,转正愿不愿意留下,介绍了待遇,10min

10min后,发offer,这个真的有被吓到,因为看牛友都是审批啥的

没了

以上都是凭记忆写的,有遗漏请多多包涵。

#字节跳动后台面经##字节跳动##腾讯##实习##C++工程师##面经#
全部评论
想起了我拿了几个金奖的舍友 流下了不学无术的眼泪
3 回复 分享
发布于 2020-03-23 23:59
羡慕啊,自己也要加油了!
2 回复 分享
发布于 2020-04-08 14:54
蹭楼主喜气希望也能拿字节offer~
2 回复 分享
发布于 2020-03-23 17:11
为啥收藏40+,点赞才10个
1 回复 分享
发布于 2020-03-24 08:33
楼主太棒了,期待成为楼主同事 对字节移动客户端岗位感兴趣的同学可以看下这里https://www.nowcoder.com/discuss/412358?source_id=profile_create&channel=666
点赞 回复 分享
发布于 2020-07-10 11:39
同学面经写得太好啦,邀请同学来分享一下实习经验,分享就有奖品哟,活动详情:https://www.nowcoder.com/discuss/423295
点赞 回复 分享
发布于 2020-07-07 16:35
lz实习入职要上传哪些证明呀 研究生在读要本科证件吗
点赞 回复 分享
发布于 2020-07-05 21:39
强啊,估计你是acmer 才会出这种算法题😂
点赞 回复 分享
发布于 2020-05-19 10:58
感谢分享~ 请问楼主简历是怎么体现ACMer的 只是获奖经历写了银牌?
点赞 回复 分享
发布于 2020-05-18 13:29
蹭楼主喜气希望也能拿字节offer~
点赞 回复 分享
发布于 2020-04-28 22:10
楼主去了字节哪个部门呀?
点赞 回复 分享
发布于 2020-04-15 22:43
字节是不是大部分都是面算法啊?这也太爽了吧
点赞 回复 分享
发布于 2020-04-15 18:28
又开始描述场景了,说头条会有很多的用户评论,但是有一些敏感词是不可以发出来的,我们有这个敏感词的清单,如何去检索评论里是否包含敏感词。 楼主有什么好办法吗?感觉只能用set装敏感词,然后遍历评论。。然后怎么做?好难哦
点赞 回复 分享
发布于 2020-04-01 18:36
复制二叉树的话,只需要用先序遍历+传参传递父节点就可以建新的树了吧,不需要用到map?
点赞 回复 分享
发布于 2020-04-01 17:21
😅想问下楼主是哪个部门后台开发没有hc了。。谢谢
点赞 回复 分享
发布于 2020-03-26 14:47
所以最后去字节了吗
点赞 回复 分享
发布于 2020-03-26 11:33
zwg txdy!!!
点赞 回复 分享
发布于 2020-03-25 09:55
楼主是男孩子还是女孩子
点赞 回复 分享
发布于 2020-03-24 22:57
楼主第一志愿是后端开发实习吗 没hc了
点赞 回复 分享
发布于 2020-03-24 17:53
楼主巨巨,请问你网络看了多久啊?
点赞 回复 分享
发布于 2020-03-24 14:54

相关推荐

03-21 20:56
已编辑
海南热带海洋学院 后端
一面(20250120):手撕:1. 无重复字符的最长子串2. 俄罗斯套娃信封问题Redis数据类型有哪些?Redis中String和Hash有什么区别,将hash序列化后存到string中不行吗?这么做有什么问题吗?Redis的持久化机制?锁的级别有哪些?有哪些锁的类型?哪些场景用哪种锁?什么是锁的可重入性?MySQL慢查询怎么优化?MySQL索引的匹配原则?like %xxx 这种模糊匹配一定会导致索引失效吗?介绍下令牌桶算法?和其他限流算法相比有什么优势?介绍下Go中的channel?无缓存channel和有缓存channel的区别和应用场景?介绍下Go中的反射机制?反射的底层原理是什么?Go中使用interface怎么实现多态?最近在做什么项目?挑一个觉得做的比较好的介绍一下?什么时候能来实习?总结:第二个手撕只写了dp,没写出最优解,提示了排序+二分,但是当时还是想不到。第二天通知二面!二面(20250122):自我介绍如果让你设计一个商品秒杀系统的架构,你要怎么设计?在白板上画一下?你画的架构中的网关服务器在不能扩容的情况下如何抗住大量的并发请求?最近在做什么项目?挑一个觉得做的比较好的介绍一下?TCP的滑动窗口有什么用?能不能具体一点?HTTP和HTTPS的区别?TLS握手的过程?描述一下go里的协程?什么时候用多进程?什么时候用多协程?手撕:1. 合并K个有序链表2. 戳气球总结:手撕要处理输入输出,比如输入是一个字符串“[1,2,3,4,5]”表示链表,需要切割字符串把链表节点一个个连起来。戳气球现场没写出来,架构设计也没回答好,八股也不够熟。面完秒挂!
查看46道真题和解析
点赞 评论 收藏
分享
03-12 20:51
门头沟学院 Java
吐槽一下:企业微信是真忙啊,面试过程中,面试官还会被拉去开会,开局写完三道算法之后,硬是让我等了将近一个小时,体验非常不好....---#### **一、算法题**1. **二维数组处理**     - 题目描述:对二维数组按第一列升序、第二列降序排序后,求第二列的最长递增子序列     - 思路:排序后转化为最长递增子序列(LIS)问题,用动态规划或贪心+二分解决  2. **滑动窗口问题**     - 题目描述:维护一个窗口,保证窗口内字符不重复,求最大窗口长度     - 思路:滑动窗口+哈希表记录字符位置  3. **二叉树第K大元素**     - 题目描述:按左-根-右顺序收集元素后取第K大值     - 思路:中序遍历得到有序列表后直接取第K大(暴力解法)  ---#### **二、项目相关**1. **登录鉴权机制**     - 流程:手机号+验证码登录,未注册用户自动注册     - Token刷新:通过拦截器对非登录请求刷新Token有效期     - **追问**:       - Token生成算法?使用JWT(Header+Payload+Signature)       - Token唯一性保障?通过JWT签名和用户唯一标识  2. **数据库优化**     - 慢查询解决:检查索引失效、分库分表、SQL优化     - **索引原则**:       - 高区分度字段优先       - 联合索引遵循最左匹配原则       - 避免对长文本字段建索引  ---#### **三、缓存问题**1. **缓存穿透**     - 场景:请求不存在的数据(如非法ID)     - 解决:缓存空值+布隆过滤器  2. **缓存击穿**     - 场景:热点Key失效后高并发请求压垮数据库     - 解决:互斥锁(如Redis的SETNX)  3. **缓存雪崩**     - 场景:大量Key同时过期     - 解决:随机过期时间+集群部署  ---#### **四、多线程与锁**1. **线程安全集合**     - `ConcurrentHashMap` vs `Hashtable`:分段锁 vs 全表锁  2. **锁机制**     - 悲观锁:`synchronized`、`ReentrantLock`     - 乐观锁:CAS(如Atomic类)、版本号     - **区别**:悲观锁强一致但性能低,乐观锁高并发但需处理冲突  ---#### **五、消息队列**1. **选择RabbitMQ的原因**     - 轻量级、适合单体项目,对比Kafka/RocketMQ更简单  2. **长连接实现**     - 基于AMQP协议,通过心跳机制维持TCP长连接  ---#### **六、设计模式与AOP**1. **AOP应用场景**     - 公共字段自动填充(如创建时间、更新人)     - 实现:通过切面拦截DAO层操作  ---#### **七、反问环节**1. 实习生工作内容:测试平台开发,参与1-2个项目  2. 面试轮次:4轮技术面(按正式员工标准)  3. 改进建议:技术深度需加强(如Redis底层原理、锁实现细节)  ---**参考答案亮点**  - **JWT结构**:Header(算法)、Payload(用户信息)、Signature(签名)  - **索引失效场景**:对字段使用函数、类型隐式转换、模糊查询左匹配  - **CAS问题**:ABA问题(通过版本号解决)、自旋开销  - **RabbitMQ协议**:基于AMQP,支持多种消息模式(Work Queue、Pub/Sub)
查看16道真题和解析
点赞 评论 收藏
分享
评论
40
211
分享

创作者周榜

更多
牛客网
牛客企业服务