百度提前批第一轮+第二轮 C++/PHP/Go研发工程师

第一轮:
1.进程和线程的区别?
2.HTTP和HTTPS的区别以及HTTPS的加密过程?(又问到了,还好复习了)
3.TCP/IP四层参考模型?
4.为什么采用IP寻址而不采用MAC寻址,具体能说说吗?
这个没有回答上来,但面试官一直追问......。
5.了解过哪些设计模式?
6.单例模式和工厂模式有什么好处?
面试官追问:"还了解过其它设计模式吗?",我:"对这两种设计模式比较熟悉"(高情商回答,哈哈)。

手撕代码:
1.LC21 合并两个有序链表。
2.LC124 二叉树中的最大路径和。(没调出来,难受)

第一轮感受:主要是上述两个问题没答出来,整体难度偏易

第二轮:
前言:
  • 基于小根堆实现的定时器,关闭超时的非活动连接;
  • 利用单例模式和阻塞队列实现异步的日志系统,记录服务器运行状态;
几乎所有的问题都围绕着简历里面写的这两个项目功能展开。

1.你是如何用小根堆实现的定时器?
2.有了小根堆,为什么还要用哈希表呢,小根堆的堆顶元素不就是最小值吗?
我的回答是:"依据小根堆得到的文件描述符在哈希表中查找对应客户端并进行关闭"。
3.那你是如何实现定时检测呢?
这里扯皮了很久。。。,自己还得回去看看项目代码。
4.那你实现一个堆排序吧?
我猜测这里在检测这个小根堆是不是自己实现的,看我很久没写代码,他说你先说说堆的实现原理,然后我讲了很久包括:"插入一个数,删除一个数,求集合中的最小值,删除最小值,删除任意一个元素,修改任意一个元素如何实现",但是自己很久没有写堆排序了,面试官就说:"哦,你是用STL实现的"。
5.你是如何用单例模式和阻塞队列实现异步的日志系统的?
不是很熟悉这个项目功能,然后我说这个和线程池的实现是类似的,扯到线程池的实现去了(又该滚回去复习项目了)。
6.那你手写一个单例模式吧?
7.多个线程去执行你这个代码有什么问题呢?
上锁,lock(mutex)、解锁,unlock(mutex)。
8.日志系统是如何实现分级打印的呢?
我说:"日志系统没有用分级打印"(分级打印又是什么鬼)。
9.日志系统主要打印了什么内容呢,无区分打印吗?
我说:"是"(项目好像直接就打印了吧。。。)
10.我还想再听听单例模式和阻塞队列如何是实现异步日志的?
(我去。。。,这尼玛是回滚嘛)
11.select和epoll的区别?
12.new和malloc的区别?
13.实现一个void* memcpy(void* dest, const void* src, size_t n)?
和之前做过和strcpy这个函数十分相似
没有考虑内存重叠(复习)
优化参考:https://blog.csdn.net/xiaobo620/article/details/7488827
void* mymemcpy(void *dst, const void* src, size_t num) {
    if (src == NULL || dst == NULL) {
        return NULL;
    }
    const char *psrc = (char *)src;
    char *pdst = (char *)dst;
    while (num-- > 0) *pdst++ = *psrc++;
    return dst;
}
14.你这个项目实现了上万QPS,每个客户端连接进来需要多长时间多长时间,有测过吗?
我说:"可以计算出来的,webbench如压力测试60s,有10000个客户端连接进来,每个客户端就是60 / 10000"。
面试官:"那你测的是多少?"。
我说:"emmm,60 / 10000 = 0.006"。(这里估计是面试官看你是否真的测了)

第二轮感受:比之前蚂蚁一面的压力更大,感觉项目一问很深入就不太会了,然后面试官检测你是不是做过还会让你手写如堆、单例模式等代码,唉,项目有得好好看看了,不过我也认为这才是二面该有的难度。



#百度面试##面经##百度##校招#
全部评论
你的面试好难啊,我一面问的基础加两个算法,二面就问了一个基础加一个算法,三面聊人生谈理想,加一个情景题。还在等结果。😢
点赞 回复 分享
发布于 2021-09-13 22:46
是不是二面之后没有马上通知三面的就是挂了呀
点赞 回复 分享
发布于 2021-09-12 13:58

相关推荐

若怜君欢:驾驶证去掉吧,PPT啥的也去掉,本硕课程去掉,导师和研究方向去掉;加入本硕排名(好才写);技能栏加入你会的那些控制算法和滤波算法,这个比你会啥啥啥软件更有用;获奖写上去,奖学金啊,有没有专利啊之类的 电机和硬件这一块,属于传统制造业,制造业实习并不多。多投一些攒攒经验,有实习最好,没有也不需要焦虑(制造业实习其实除了转正,没多大用处) 最后,划重点,等秋招开始后,把你所有社交软件都发一份简历上去,并经常更新,找人内推你!
点赞 评论 收藏
分享
咦哟,从去年八月份开始长跑,两处实习转正都失败了,风雨飘摇,终于拿到offer了更新一下面试记录:秋招:多部门反复面试然后挂掉然后复活,具体问了啥已经忘了,只是被反复煎炸,直至焦香😋春招:base北京抖音hr打来电话说再次复活,准备面试,gogogo北京抖音一面:六道笔试题:1.promise顺序2.定义域问题3.flat展开4.并发请求5.岛屿数量算法(力扣)深度,广度都写6.忘记了,好像也是算法,难度中等其他问题多是框架底层设计,实习项目重难点~~~秒过😇北京抖音二面:三道笔试题:(为什么只有三道是因为第三道没做出来,卡住了)1.中等难度算法(忘记啥题了,应该是个数组的)2.认识js的继承本质(手写继承模式,深入js的面相对象开发)3.手写vue的响应式(卡在了watch,导致挂掉)---后知后觉是我的注册副作用函数写得有问题,有点紧张了其他题目多是项目拷打,项目亮点,对实习项目的贡献~~~第二天,挂,but立马复活转战深圳客服当天约面深圳客服一面:六道笔试题,由于面过太多次字节,面试官叫我直接写,不用讲,快些写完😋,具体都是些继承,深拷贝(注意对数组对象分开处理,深层次对象,循环引用),加中等难度算法题~~~秒过深圳客服二面:口诉八股大战:大概囊括网络,浏览器渲染原理,动画优化,时间循环,任务队列等等(你能想到的简单八股通通拉出来鞭尸😋)算法题:笔试题6道:1:找出数组内重复的数,arr[0]-arr[n]内的数大小为[1-n],例如[1,2,2,3,3]返回[2,3],要求o(n),且不使用任何额外空间(做到了o(n),空间方面欠佳,给面试官说进入下一题,做不来了)2:原滋原味的继承(所以继承真滴很重要)3:力扣股票购买时机难度中等其他滴也忘记了,因为拿到offer后鼠鼠一下子就落地了,脑子自动过滤掉可能会攻击鼠鼠的记忆😷~~~秒过深圳客服三面:项目大战参与战斗的人员有:成员1:表单封装及其底层原理,使用成本的优化,声明式表单成员2:公司内部库生命周期管理成员3:第三方库和内部库冲突如何源码断点调试并打补丁解决成员4:埋点的艺术成员5:线上项目捷报频传如何查出内鬼成员6:大文件分片的风流趣事成员7:设计模式对对碰成员8:我构建hooks应对经理的新增的小需求的故事可能项目回答的比较流利,笔试题3道,都很简单,相信大家应该都可以手拿把掐😇~~~过过过无hr面后续煎熬等待几天直接hr打电话发offer了,希望大家也可以拿到自己心仪的offer
法力无边年:牛哇,你真是准备得充分,我对你没有嫉妒,都是实打实付出
查看19道真题和解析
点赞 评论 收藏
分享
评论
点赞
13
分享

创作者周榜

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