秋招面经分享

从六月底投简历到现在为止大大小小也面了几十场了,也看了好多牛客上的面经,现在就分享一波,希望大家都能收到满意的offer

我自己是学的C++,投递的岗位也是以后端开发为主,下面我就只写一写进入面试的面经吧,笔试没过的就不写啦,都是从我的笔记里面复制过来的,所以格式可能不好看。

百度 C++/PHP/GO开发

秋招的第一场面试,非常感谢第一场的面试官小姐姐。面完最后给我提了好多有用的建议,让人感觉很窝心,也谢谢给我后面的机会~

一面

上来手撕快排,没掌握牢,花了快20分钟才调通,然后二叉树的广度优先遍历,问如果从最后一层开始遍历怎么做。没想明白。。。

  • 基础八股文:面试官不懂C++,所以感觉应该是在网上找的题目。

    mysql索引优缺点,何时失效?

    进程线程区别,何时用进程何时用线程;

    TCP三次握手,四次挥手,问我知道吗?我说知道就跳过了;

    指针引用的区别;

    堆栈溢出发生在什么时候; 我答的函数递归调用层数太多时可能发生,感觉答得太简略了;

    堆栈尺寸设置过小,  递归层数太深,  动态申请内存后没有释放

    c++ 三大特性;

简历相关:这块答得很不好,感觉一方面是自己简历的东西跟人家不匹配,另一方面是自己也没有说好。面试官说我没引导着她发现亮点。。。

评价:基础需要再牢靠, 面试节奏很快, 简历叙述, 代码花了比较多的时间,简历上写的东西一定要熟悉。

二面

自我介绍 + 一个项目

算法题:1.自己实现一个字符串压缩函数,例如“aabcccccaaa”变为“a2b1c5a3”

思路:遍历过程中记录个数。我这里把数字转字符的时候用了(“0”+count)但是这个只适合个位数的情况,所幸面试官没发现,可以用to_string(count)转成字符;
2. 重排链表。 leetcode原题
基础知识:1. linux命令 使用sed 修改test.txt第二行
2. linux进程间通信方式;管道 消息队列 共享内存加信号量 socket套接字 信号
3. Linux 消息队列是咋实现的?答不知道,又问我数据结构栈和队列,我顺便说了下c++标准库的stack和queue;
4. 问我为什么需要进程间通信? 我回答的很口语化没想到会问这个问题。
              (网上找的)数据传输:一个进程需要把它的数据发送给另一个进程 
                                    通知事件   资源共享  进程控制
进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,
不能在一个进程中直接访问另一个进程的资源(例如打开的文件描述符)。但是,进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要进程间通信

没问计网和数据库

反问:技术栈?go

我有哪些需要改进的? 代码风格  我手撕的两道题都直接命名函数为func(),被面试官说了,说直接写成汉语拼音也好。。

三面

全程聊天 职业规划 意向城市这些

总结:秋招第一场面试,也是第一个意向,还是非常感谢一面的面试官,真的很好。另外听说有的三面是技术面,我这个是非技术面。

美团优选后端开发

一面

自我介绍

介绍简历的项目 来提问(webserver 压力测试)

计网

  • 七层模型 四层模型
  • TCP UDP 区别
  • 如何用UDP实现TCP连接
  • get 与post方法的区别
  • http状态码
  • http与https的区别

操作系统

  • 进程线程区别
  • linux 查看进程运行状态的命令
  • linux命令。。。

算法题

1,写一个快排 没运行

2, 匹配括号的最长字串长度(没做出来, 凉凉)

如 : ()()( : 4 ()(()(): 4 ()()(): 6

二面

  • 自我介绍
  • 做题 股票3 没做出来换了个 二叉树的最大路径和
  • c++虚继承的的底层实现
二面题目也没做出来,挂掉了

美团地图移动端

一面 85min

  1. 自我介绍 + 项目介绍
  • 计网
  1. http协议各个版本, 区别,发展变化
  2. http与https区别
  3. get post方法区别
  4. 问了tcp与http里的keep-alive有什么区别
  5. 发送http请求的全过程
  6. 三次握手 四次挥手的过程
  7. 拥塞控制算法
  8. 线程池原理 线程池几种状态
  9. tcp如何组包
  • 操作系统
  1. 虚拟内存机制
  • C++
  1. 面向对象三大特性
  2. c程序编译链接过程
  3. C能重载嘛
  4. c程序运行前会做什么没懂想问啥
  5. 指针和引用的区别
  6. const 和define的区别 有缺陷
  7. malloc new 区别
  8. 浅拷贝深拷贝
  • 算法题   判断链表是否有环    实现shared_ptr

二面 40min

自我介绍 问我对移动端了解吗 有没有下去学习一下

算法题:重建二叉树 + 层序遍历   

HR面30min

问职业规划,意向这些   

总结:美团的面试体验非常好,点个赞。另外,一开始后端岗位的两轮面试题都没做出来,后悔没把股票系列的刷完。。

字节跳动 后端开发飞书

一面 48min

  • 自我介绍 说自己是从算法转开发的 问我为啥转开发 简单介绍了下自己研究生做的事
  • 问基础:
    1. 操作系统内存管理
    2. c语言中的struct 与union的区别
    3. 大端小端
    4. 动态语言静态语言
    5. 数据结构里面的图存储结构, 遍历方式
    6. 树的种类
    7. b树与b+树的区别,应用场景
    8. 数据库为啥用这两种结构
    9. python 列表解析式 list comprehension
  • 算法题:二叉树和为某一值的路径(剑指offer原题) 数据库 查询每个工种得分平均值,结果保留三位小数,降序输出;
范文:建议我学习一下github上高星的八股文(凉凉),主要是Java技术栈。

二面 40min

无自我介绍

介绍了一下做的httpserver项目 这里项目介绍的不好 还是不够熟悉不知道咋说

引出来计网的基础知识:

  • DNS查询 DNS劫持是啥 如何防止
  • HTTP和HTTPS的区别 SSL链接怎么建立的
  • 如何应对高并发请求:线程池, IO复用select poll epoll
  • poll 与 epoll的区别, epoll的LT 和 ET模式

C++重载与重写的底层实现;

算法题:无重复子集;

数据库:

  • 数据库隔离级别
  • MySql 默认隔离级别 可重复读+间隙锁 (防止幻读) 间隙锁咋实现的(不知道)
  • MySql 锁 表锁 行锁 (咋实现,不知道。。。)

反问

三面 40min

自我介绍 简单问了研究的方向

计算机网络

  • IPV4 地址划分 一共几类 外网地址 内网地址
  • 简述tcp三次握手 四次挥手
  • tcp粘包问题是啥 怎么解决 (关闭nagle算法, 格式化数据, 发送长度)
  • tcp 滑动窗口

操作系统

  • 进程、线程、协程的区别;

数据库

  • mysql 索引用的什么数据结构
  • b+树特性
  • 出了一道数据库的题 分组查询

算法题

  • 股票的最大利润 LC122 差点翻车

总结:字节的效率真的很高,从面试到意向大概一周左右,总体来说,面试体验还是很好的。

拼多多客户端开发拼越计划

  • 自我介绍 问了问研究生做的东西
  • c++内存管理
  • 栈和堆如何生长,有什么区别
  • 内存对齐,为什么要内存对齐
  • 内存碎片是什么,有什么危害
  • 如何解决内存碎片问题
  • stl分配器为什么要内存对齐
  • c++里面如何动态申请内存
    算法题:手撕单例模式+100万个数字找最大的10个 一面挂掉了
  • 总结:感觉面试官很厉害,被暴打,设计模式没看过,挂掉了。后面再投提前批笔试0.25/4,哈哈,就没有后续了。

    京东C++研发

    一面

    • 自我介绍 + 项目介绍
    • Linux分配内存方式 如何解决内存碎片问题的
    • 红黑树、B树的特点与应用场景
    • 进程间通信方式
    • 线程进程区别
    • 线程同步机制
    • 锁的类型
    • 没有写题

    二面

    • 自我介绍 + 项目介绍
    • http 与https 的区别
    • epoll 与 select 区别
    • vector扩容机制 问我知不知道vector缩容机制 不知道 查了网上说是swap?
    • map底层数据结构是啥
    • map 与unordered_map的区别
    • hash_map的实现机制
    • http状态码
    • post 和 get的区别, 哪个是幂等的
    • c++多态实现机制
    • 问我知道哪些http请求方法put
    • 数据库的acid特性
    • mysql的两大存储引擎的区别 myisam支持表锁嘛? 支持
    • 了解哪些索引
    • 场景题:设计一个选课系统 创建数据库表
    • 场景题:实现一个短连接到长连接的映射

    HR面

    也是问职业规划这些

    总结:面试官非常有礼貌,甚至一面面试官大叔称我为“您”,问的还挺基础的,场景题答得不太好。


    阿里CTO线智能引擎

    一面
    • 自我介绍 加 项目简单介绍

    基础八股

    • http 各个版本的介绍 变化
    • tcp三次握手 三次握手能不能两次
    • 介绍c++运行时多态 实现机制
    • 介绍内联函数以及内联函数能不能是虚函数
    • 析构函数为什么要是虚函数
    • 构造函数能不能是虚函数
    • 介绍移动构造为了解决什么问题
    • stl里的vector咋实现的 内存分配
    • vector push_back与emplace_back 的区别
    • 什么是二叉搜索树
    算法题
    • (1) 在二叉排序树里找100个节点的公共父节点
    • (2) 子集(无重复)

    二面

    自我介绍 + 项目简单介绍

    八股

    http服务器如何应对高并发场景? IO复用 线程池

    c++多态和重载的区别, 使用场景

    构造函数和析构函数能是虚函数嘛?为什么

    智力题  用不均匀硬币等概率产生0 1

    优化join

    算法题

    合并K个有序链表

    三面

    实现链表快排。

    吐槽:阿里这次面试让人挺无语的,三面完之后推到另一个部门,那个部门的人跟我说我这个后天流程就结束了,所以得赶紧面。然后面试只做了两道题,就问我有没有什么想问的。甚至还问我,是不是觉得这次面试很奇怪,只做了题就结束了。我问他如果这轮过了的话,还有几面,跟我说还有两面,我再问不是说后天流程结束吗?然后就支支吾吾不知道在说啥了,哈哈,虽然表现的很明显的KPI,但是我也没有生气,只是感觉很搞笑


    腾讯也是一次30分钟的面试,面完就挂,所以也没啥好写的了。


    另外还有华为,青岛鼎信通讯的面试因为感觉参考性不大,就不写啦。
    最后再记录下自己这段时间的感悟吧,我本身是做视觉算法的,但是自己太菜了,没有论文导师也不让实习,所以很早就打定主意转开发,期间也看了很多牛人的博客面经,尤其是阿秀@拱白菜的阿秀 的面经整理非常好,在这里谢谢他。很早开始,就特别焦虑,也跟女朋友有好多矛盾,上个月因为工作原因分手了,这段时间一直很自闭,哎。。  看了一句话感觉很好,奋进之后学会坦然,祝大家都能有好的未来。





    #面经##校招##百度##美团##字节跳动##拼多多#
    全部评论
    啊哈哈,谢谢认可。我也只是把我去年找工作时候的总结的面经分享一波而已,楼主加油
    1 回复 分享
    发布于 2021-09-22 07:21
    楼主 美团“匹配括号的最长字串长度(没做出来, 凉凉)”是 LeetCode32哦。出道Hard的却是不讲武德😀
    点赞 回复 分享
    发布于 2021-09-22 11:17
    股票系列的 ,是指什么呀
    点赞 回复 分享
    发布于 2022-02-06 23:53
    老哥cpp学了多久😂
    点赞 回复 分享
    发布于 2022-03-13 15:21
    楼主是硕士还是本科啊
    点赞 回复 分享
    发布于 2022-08-21 11:34 安徽

    相关推荐

    评论
    8
    69
    分享
    牛客网
    牛客企业服务