2019秋招面经

2019年秋季学期全职面经归档

Posted by Ang on April 19, 2020

前言

这是一篇迟到了很久的全职面经总结。

腾讯

关键词:最莫名其妙的面试体验

TEG一面

  • 自我介绍
  • 高性能服务器需要考虑些什么问题
  • 服务器为什么要设计内存池
  • 服务器端与客户端已建立连接,客户端断开后,服务器端会怎样
  • 服务器多进程与多线程间的取舍
  • Master-worker架构,连接由谁建立,nginx是由worker建立的,为什么
  • 服务器项目在网络方面可以有哪些考虑
  • 设计一个k-v存储,只set不读,且有过期时间,过期后删除,怎么设计
  • 数据库的索引原理,为啥不用红黑树而用B+树
  • MySQL数据库如何高可用
  • Consul用来做什么,具体实现原理
  • 对raft协议的了解
  • Linux下read操作的具体流程
  • 进程通信方法
  • 共享内存,若其中一个进程挂掉,共享内存中数据是否会丢失(不会);如果相关进程都挂掉,是否会丢失
  • select、poll与epoll原理与比较

TEG二面

  • 实习 学到了什么,怎么学习,怎么计划 身边有没有非常值得你尊敬的同事,为什么
  • 代码设计,面向对象编程,设计模式,开闭原则
  • 接口,虚函数多态,虚函数表创建时机,虚函数表位置
  • c++类为什么要内存对齐
  • 守护进程有什么特别的地方
  • 管控只是运维吗

微软

关键词:被偏爱的都有持无恐?

SCCM一面

  • 实习情况
  • suika项目面面俱到
  • 英文面:介绍南京
  • 手撕:邮箱地址合法性检测,测试样例设计
  • 如何写测试
  • 手撕:字符串去空格,O(n)时间O(1)空间

SCCM二面

  • 英文面:介绍自己
  • 实习情况
  • suika项目从浅入深
  • 手撕:两个日期的差
  • 手撕:字符串中子字符串的出现次数:overlap,non-overlap
  • 手撕:链表反转

SCCM三面

  • 英文面:介绍实习经历
  • 企业文化
  • 系统设计:高可用分布式系统设计,commit or probe(push or pull),问题定位,平时如何学习
  • 在字符矩阵中寻找指定字符串路径,测试样例设计

摩根士丹利

关键词:有群面的技术面试

笔试

  • IKM测试

电面

  • Brief self introduction
  • Why Morgan Stanley
  • Binary Search Tree, inorder traverse
  • Database index, why
  • Redis index
  • Stored Procedures
  • SQL injection, ways to defend
  • Process vs Thread
  • Stack Overflow
  • Use stack to implement a Queue
  • When have difficulties communicating with others? how to solve it?

AC面笔试

  • 变种全排列问题

AC面一面

  • 深挖简历
  • 最有成就感的一个项目/实习经历
  • 笔试,交换两个变量,const &
  • Differences between list and array
  • Sort algorithms,time and space complexity
  • Differences between Vi and Vim
  • Function call stack
  • Linux commands
  • Git commands
  • System call

AC面二面

  • Self introduction
  • TCP Handshake
  • TCP UDP
  • HTTP新旧版本区别
  • HTTPS,TLS
  • DNS
  • SQL injection
  • Epoll,Select,Poll
  • suika架构,thread number的确定,Reactor和Proactor
  • 协程,go-routine
  • 为什么用go,认为有潜力吗

AC面三面:

  • Any other Company’s offer? How to choose?
  • Things bend your principle, how to face?
  • Conflicts with others, how to solve?
  • Have you ever had conflicts with PM? How to solve them?
  • Which aspects you think you should improve, any plans?

AC面群面

  • 讨论如何创新Graduate Connection

Autodesk

关键词:莫名其妙的Senior社招面

电面一面

  • Hr面,询问一些情况

电面二面

  • 实习情况
  • suika项目:优化,配置项如何确定
  • 对C++11、14、17的了解
  • 虚函数底层实现
  • 对windows下开发的了解
  • C++与Golang对比
  • STL,unordered_map与map的区别,map若key与object,value为int,key如何排序
  • 对图形学了解如何

Onsite一面

  • 手撕:链表定义,寻找最中间的节点
  • 手撕:虚函数
  • 手撕:单例模式

Onsite二面

  • 系统设计:命令管理系统设计
  • 手撕:一个三维空间有无数条线,寻找成环的线的集合

Onsite三面

  • 英文面:介绍实习经历
  • 英文面:实习中学到的最重要的东西
  • 英文面:在主管已交付有ddl的任务的情况下,其他相关部门提出新的需求,怎么处理

Onsite四面

  • Hr瞎聊

Onsite五面

  • 大BOSS谈人生

旷视

关键词:AI四小龙

一面

  • 自我介绍
  • 实习情况
  • C++ static变量、static函数
  • C++虚函数、纯虚函数、抽象类、接口类
  • C++ STL map与unordred_map如何选择
  • C++ list,dequeue,queue
  • C++ vector实现,当capacity满时如何处理
  • 排序算法有哪些,堆排序复杂度,完全二叉树
  • 对开发与算法如何选择
  • 如何阅读源码

二面

  • extern C是什么
  • Union可以用来做什么
  • C++与C对函数重名的支持是怎样的,若支持是怎么做到的
  • 手撕:求两个矩形的IoU,优化代码
  • 手撕:求数组中最大连续子序列和,设计思路
  • 手撕:从整数1到n中连续取个数,每个数前可加+/-符号,问有没有一个数k是这样子计算不到的,O(2 * k)算法,更高效算法

结语

对比18年与19年的校招体验,可以明显感觉到经济下滑的寒意。

参考