2018百度校招面试总结

2018百度校招面试总结

  • 目前走流程到二面, 写一波面经但愿可以收到三面通知, 上天请赐予我运气和力量吧;
  • 校招走流程的两个面试官都很nice, 比较随和, 面试体验很是好;

百度一面

  • 在酒店一楼等面试官通知, 叫到名字就坐电梯去对应房间号面试;
  • 交完简历, 面试官会安静的浏览简历(这时候比较尴尬, 只有静静的等), 而后面试官会让你简单的自我介绍;
  • 面试官后面会对感兴趣的项目进行细节询问, 大体包括:
    • 解决一个什么问题;
    • 项目的背景;
    • 数据处理流程;
    • 大概的项目框架;
    • 本身对整个项目的理解;
    • 涉及到的问题, 怎么决绝的;
  • 在交流过程当中, 面试官透露他是无人驾驶团队的, 还给我说了估计百度来的面试官只有他能听懂个人项目, 若是我去面后台开发很悬;
    • 结果4点的时候去面百度云的时候, 真的是被问成SB了, 就差点点就哭出来了, 本身后台开发的基础太差, 并且没有相关的项目经历, 很难;
  • 后面聊着聊着, 面试官画风一转, 咱们写两个程序吧, 接下来就开始手撕代码了;
    • 第一题, 他说先来个简单的吧, 把随机数组的奇数放数组的前面, 时间复杂度为O(n), 空间复杂度为O(1);
      • 刷过题的同窗, 确定都知道怎么作吧, 我是用双指针的方式来解的, 若是是奇数就交换, 但这种方法不能保证原来的顺序;
      • 牛客网的剑指offer是用堆排序的思想来作的吧;
    • 第二题, 求两个单链表的交叉点, 我理解题意有点问题, 我开始觉得只有一个交点, 后面面试官说相交后的节点就所有相同了;
      • 若是刷题多的同窗, 应该看一下就知道答案了吧;
      • 我是用差值来作的, 找到第一个链表的长度, 找出第二个链表的长度, 求出其差值;
      • 长的先走差值这么多步, 而后长的和短的一块儿走, 相遇的第一个结点就是交叉点;
      • 若是不相交的话, 就直接返回空便可;
  • 一面面试官真的很nice, 当时本身水落下了, 回去还找他拿水了, 反正给个人感受他很好;

百度二面

  • 百度二面, 最开始本身仍是很紧张的, 由于本身真的很菜(哭泣), 但面试官人很好, 随时笑呵呵的, 特别随和, 好像是作手机百度的内核大佬;
  • 开始的时候都是差很少, 先浏览简历, 而后自我介绍, 再而后就是问一些技术细节, 此次面试, 细节问得比较多, 已经彻底深刻到了内核实现原理什么的了;
  • 最开始看我带了一个可穿戴的表过去, 就问了实现了那些功能, 具体怎么通讯, 线程的调度, 锁的实现, 事件的实现;
  • 而后听到我说后台数据是用python来分析, 就问我是否是对python是否是特别熟悉;
    • 这里必定要实话实说, 我说我没有能够的学习python的一些语法和用法, 只是当时用python的pandas的库来作数据的处理;
    • 而后他就问我小文件怎么处理的;
    • 正则表达式怎么用的;
  • 而后问我怎么实现一个tail的功能, 即读文件的时候实时地只显示后5行;
    • 我开始说用队列来作么? 他说是实现这个功能的大体流程, 不是具体实现;
    • 而后问我知道文件的换行符不?
      • 我说'\n', '\r\n';
      • 而后面试官很nice的给我解释, 通常Linux系统下都用'\n', window下才会用'\r\n'作换行符;
    • 而后我补充到文件的结束符为'EOF';
  • 面试官看我项目中用到了epoll机制, 就问我还知道除了epoll的其余机制;
    • 我就讲了一下epoll, poll, select的来历, 做用和区别;
    • 还讲了内核实现epoll的大体流程;
  • 面试中发现, 回答面试官问题的时候, 若是不主动的去扩展知识点的话, 会显得很被动, 会被面试官带着走, 那样的话基本算是一次失败的面试;
  • 而后看了看我简历上还写了内存管理和Linux的IPC, 就叫我讲讲;
    • 而后我就讲了一下, Linux内核的分段和分页, buddy子系统, slab分配器(高速缓存), kmalloc, vmalloc;
    • 进程地址空间的分配;
  • IPC通讯大体讲了, 为何须要IPC, 有哪些IPC, 选了一个消息队列, 说了一下他的内核具体是怎么实现的;
  • 后面面试官看了一下时间, 说那行吧, 我问问你算法吧;
    • 出了一道大数相加的题目, 叫我实现时间复杂度尽量地小;
    • 个人思路大体是找到最长的字符串;
    • 每次只循环短字符串的长度, 相加, 算进位标志;
    • 若是进位为1, 继续相加到不为1;
    • 面试官还给我说了另一种解法, 短的字符串补0, 来作;
      • 这种方案代码实现起来就很简洁;
相关文章
相关标签/搜索