腾讯一面
还是老东家对我好,一点没有为难我,但是一上来就是手撕,着实是吓到我了哈,跟面试官聊嗨了都,这波总不能挂我吧,这给我挂了我真破防了说实话
一、手撕
实现一个线段树,支持以下两种操作
查询操作:给定区间[l,r],返回该数组区间的最大值
更新操作:将数组中某个位置i的值更新为val,并相应的更新线段树
示例1:
输入nums = [1,3,5,7,9,11]
operation = [
("quary",1,4),
("update",2,10),
("quary",1,4)
]
第一行语句的结果是9,因为这个地方是的1和4就是数组的索引,即要查询[3,5,7,9]数组的最大值
然后第二行语句的执行结果是将数组更新为[1,3,10,7,9,11]
最后一个语句的结果是查询[3,10,7,9]的最大值,返回10
二、面试官提问环节
1. 上面的代码在你的排序阶段如果数组本身有序怎么办?部分有序需要你排序,会选择什么算法?
2. 挑一段自己的实习经历说一下,实习的难点以及解决方案
3. 这段实习对于自己的技术上有没有什么提升
4. 平时什么时间学习
5. 为什么选择全栈方向
6. 之前的部门为啥不留,没有hc吗?
三、反问
1. 业务
2. 流程
#发面经攒人品#
一、手撕
实现一个线段树,支持以下两种操作
查询操作:给定区间[l,r],返回该数组区间的最大值
更新操作:将数组中某个位置i的值更新为val,并相应的更新线段树
示例1:
输入nums = [1,3,5,7,9,11]
operation = [
("quary",1,4),
("update",2,10),
("quary",1,4)
]
第一行语句的结果是9,因为这个地方是的1和4就是数组的索引,即要查询[3,5,7,9]数组的最大值
然后第二行语句的执行结果是将数组更新为[1,3,10,7,9,11]
最后一个语句的结果是查询[3,10,7,9]的最大值,返回10
二、面试官提问环节
1. 上面的代码在你的排序阶段如果数组本身有序怎么办?部分有序需要你排序,会选择什么算法?
2. 挑一段自己的实习经历说一下,实习的难点以及解决方案
3. 这段实习对于自己的技术上有没有什么提升
4. 平时什么时间学习
5. 为什么选择全栈方向
6. 之前的部门为啥不留,没有hc吗?
三、反问
1. 业务
2. 流程
#发面经攒人品#
全部评论
请问是wxg还是teg
手撕线段树
是打过acm吗?怎么还有手撕线段树
大佬好厉害
手撕线段树
佬投的全栈开发岗位吗?
相关推荐
09-02 12:09
郑州大学 后端工程师 

点赞 评论 收藏
分享