得物笔试(03-22)

第一题

字符串a, b; 能否删除a的某个子串使a=b;

  • b开头和结尾必定和a匹配,看匹配的字符个数是否大于b.length

过了

第二题

正整数x, k; 需要找到小于k的正整数y使x异或y最大

  • 贪心,从k的最高位遍历,尽量取~x[i] 但是要满足小于k
  • 如果前面取的与k相同,就要判断当前取~x[i] 是否满足小于k
  • 如果前面已经满足小于k了(k[i] = 1 取的是0),后面直接取~x[i] 即可

过了

第三题

等比数列求和极限

  • lim = a1/(1 - q);
  • a1 = q
  • q = a * 10^-k
  • => lim = a / 10^k - a, 约分 分子、分母 即可

过了

最后,如果对你有用的话,求个花花

全部评论
第三题啥意思啊
点赞 回复 分享
发布于 05-06 21:41 黑龙江

相关推荐

09-09 15:05
已编辑
南京大学 算法工程师
细糠:接好运
点赞 评论 收藏
分享
岗位是:KVcache/高性能缓存开发上来先让做自我介绍(这里切出来看自己写好的自我介绍了),自我介绍完后因为听面试官声音有点小就又切出来提音量了,然后面试官就恼火了,说别一直切屏,他那边一直弹提醒(赛码网面试不写代码的时候切屏也会提醒,注意一下),之后就是面试官自我介绍,开始八股:1. 智能指针有哪些以及适用场景2. c++中有哪些常用的锁,使用场景是什么(这块问的很多,但是答得不够流利,得练习)3. 自旋锁和排他锁有什么区别4. 如何排查进程中cpu最繁忙的api或者说函数(这里没整过不太会,说的gdb写个脚本查看,太夸张了,下来查了一下大概是`top`+`perf`+`pstack`, top(或者htop可以更直观的查看cpu各个核心的使用率以及进程的资源占用,top -H -p PID也可以直接查看进程中的线程CPU占用)查看高消耗CPU的进程,然后执行pred top -p PID即会显示进程中系统调用和模块(可执行命令,链接库等内容)所占用CPU的百分比,然后pstack -TID(或PID)打印线程的调用栈(PID就是打印所有线程的调用栈),就可以排查高占用的进程以及函数。可以举一反三一下:内存,磁盘等IO占用率高如何排查?5. STL标准库中哪些容器是用树实现的,哪些容器是用哈希表实现的。6. 项目里的thread_local高并发内存池,三级缓存是怎么做的,使用什么数据结构管理这些缓存页以及分割为大小不一的对象的。7. 手撕:hashmap,要求使用开放地址法里的线性探测法实现,实现put和get函数(这个线性探测法第一次写,直接写成index一直++寻找空的了,面试官提醒要考虑最后找不到回来从头找的情况,因为可能hash算出来的key直接在最后,直接index++然后认为hash桶不足然后rehash的话可能会频繁发生rehash)8. 反问:业务,是小红书哪儿做分布式高性能缓存的团队,还是需求挺多的,然后现在一个小组大概8个人主要做缓存这一块,处理一些什么什么的具体问题。这个小红书的面试官真的是雷厉风行,大开大合的那种,30min急速八股然后手撕结束,一点实习没问,恼火恼火的也快,然后问问题的时候也会回答的很细很多,经常他回答的时候我都插不上话,如果不挂我的话,那我觉得他性格还不错,挂我我就要怪他调个音量就恼火我了。
查看8道真题和解析
点赞 评论 收藏
分享
评论
5
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务