万字回馈社区--实习秋招百轮面试总结

本人中科大软件学院硕士,众所周知,软件学院提供了大量的外出实习的机会,所以在研一研二的时间内,有幸积累了丰富的面试经验,最后收获了一些还不错的offer,今天就把本人经历拿出来和大家分享一下吧~

阶段一:2020年春--日常实习

公司名称 面试一 面试二 面试三 结果
阿里巴巴 一面:进程与线程,线程怎么共享数据的,指令流水线(顺序与乱序),C++11新特性,智能指针,左值与右值,网络模型OSI、TCP/IP,ARP协议,排序算法的比较,二叉树的遍历方式,内存中的堆和栈,项目,代码调优(循环展开,goto禁用,行优先访存,循环内定义外移) 内核同步:原子操作、自旋锁、读写锁、信号量(计数信号量、二值信号量)、屏障(barrier)分别的实现原理与应用机制;操作系统相关的项目经验有吗?平时写过什么代码? 介绍一下区块链系统的工作原理,实践时候的难点(默克尔树)?对称加密与非对称加密,http与https的区别?Https加密怎么实现的?C++中面向对象的三大特点(封装、继承、多态),多态的实现方式?Go与C++的区别,Go怎么实现内存回收的?Malloc与new的区别,数据库中第一范式与第二范式; 挂了
英伟达开发 一面:项目的目的,指针操作:指针越界的危害,野指针的危害,为什么指针越界在编译的时候不会报错,在运行的时候会报段错误?操作系统怎么判断的?C++的特点,面向对象的优点,举例说明?函数调用的特点,如果一个指针赋值为函数,那么这个指针获取的是函数的值还是返回值?手撕代码:二叉树的层序遍历。char * f(){ return "Hello world"; } void main(){ char * p = f(); p[0] = 'h'; }是否合法? 挂了
腾讯后台开发 一面:聊了项目,数据库里面group by和order的执行顺序(不太会),问了网络中信息传递的顺序,同网段、不同网段,手撕二分查找; 二面:C++ inline函数的作用,函数传参入栈的顺序,项目经历(个人在项目中的角色与遇到的困难),死锁与死循环,如何判断是死锁还是死循环,算法题:两个相交链表的交点; 三面:做一个新的编程语言的意义?线程与进程的区别,线程同步(自旋锁、读写锁、信号量(二值信号量、计数信号量)、原子操作、barrier等等),软件开发应该具有的特性(低耦合高内聚),敏捷开发?算法题:n个节点的二叉树的最大最小深度;平衡二叉树的删除操作的时间复杂度;动规(爬楼梯) 通过
百度贴吧 一面:C语言动态内存分配的几种方式与比较(malloc,calloc,realloc);malloc的特点与底层实现,malloc与new的区别;TCP与UDP的比较,进程通信的方式,进程与线程的比较;为什么网络层已经有了差错控制,传输层还要再来一遍?快排与堆排的应用场景,归并排序的空间复杂度(数组与链表不一样吧?),算法题:判断回文串;数组中只出现一次的数字(hash、排序、异或);数组中的两数相加之和(暴力法、二分法)以及时间复杂度;链表中倒数第k个元素;链表是否有环? 二面:C++多态怎么实现的?虚表存放的位置;虚表的大小?四种类型转换的区别,class与struct的区别;数据库:主键与外键、数据库的锁(读写锁、乐观悲观锁,不太会。。。);操作系统:进程与线程、同步I/O,异步I/O(忘了),内核态与进程态,系统调用时操作系统发生的事情;网络:画图--TCP三次握手、四次挥手,四次挥手中的wait-time出现在哪里,如何避免wait-time造成的服务端空等?(不会。。。),手撕代码:链表逆置(两种方法:指针改变方向,头插法(写得不好));算法题:一个数组中找出min和max的方法(排序(nlogn)、遍历(n)、堆排序的重建堆(logn?)) 挂了
smartx 一面:手撕代码(剑指offer中二维数组寻值),两种方法(暴力搜索、从右上角逐步逼近);堆排序的思想,时间复杂度、怎么建堆?如果是二叉树不是数组怎么建堆?快排的时间复杂度?数据库中删除数据但保留表结构用什么?(不会),TCP为什么四次挥手?ARP是哪一层的协议?Linux命令:一个文件有多少行?(不会),查看内存和cpu,排序算法的稳定性是什么? 挂了
美团 笔试:1、两个数组比较最大三个数字之和;2、删除一个数字之后的最大连续上升子序列;3、背包问题(不会);4、无向图(不会+1) 4.1一面:介绍一下项目;http与https的差别,公私钥加密解密的过程?数据库里面的三个范式,索引是什么?(忘了。。。);Linux用过什么命令?(free、df、ping、netstat等等),top命令干嘛的?数据库里面的“脏读”与“幻读”;锁机制有哪些?线程安全是什么?TCP三次握手的原理,为什么二次握手之后要有第三次?让你设计一个登录系统?密码在数据库里面怎么存(MD5加密?)怎么判断用户超时了需要重新登录?(访问的时间戳判断),手撕:生产者消费者伪代码(如果只有一个生产者、消费者,需要加锁吗?(要判断生产者和消费者的操作是否为原子性的));手撕:链表有环;手撕:二进制转换为十进制; 面试官:我还是想要会java的。。。 挂了
快手 一面:手撕代码:去除字符串里面的空格(不能使用string,空间复杂度为O(1),我写了一种时间复杂度n^2的,让我优化到O(n),说了思路,没写出来);如何实现C++里面的string?(类?)读取字符串有哪些方式?C++函数为什么只有一个返回值,怎么返回的?(我说了运行时栈),函数参数保存在哪里?怎么入栈?有没有办法返回多个返回值?(我说了go语言),float型如何判断是否为0,0.0和0的区别?整型和浮点型比特存放的区别(IEEE754)(我说了指数用移码表示,面试官夸我了。。。);int a = 10, !!a = ?; A、B间有TCP连接,如果B拔网线了,会怎么样?四次挥手的过程?为什么要四次挥手?怎么判断连接超时?AWK是啥(不会),程序运行很慢怎么排错?(我说了死锁与死循环排错的方法);mysql中索引怎么实现的?有什么用? 面完挂。。。 挂了
网易互娱 网易互娱的面试很有意思,会和网上的面经很像;上来聊了聊项目;C++的多态如何实现的?虚函数的作用?析构函数可以是虚函数嘛?虚析构函数的作用(可以避免内存泄漏),举个例子?虚函数表存在哪里?一个类一个还是一个对象一个?编译器会构造几个构造函数?STL里面:vector、set、map是用什么数据结构实现的?Push_back的底层实现,什么时候会resize?Move语义了解过吗?哈希表避免冲突的方式?举例说明一下链表法?从cpp程序到exe程序都需要经历那些步骤?TCP与UDP的区别?讲一下拥塞控制?讲一下进程与线程的区别? 讲一下多路复用;口嗨算法题:求数组中前K大的数字(大顶堆);leetcode:最大的正方形(暴力、动规) 通过
DELL 一面:为什么要设计一种基于实时系统的编程语言?什么是面向对象?什么是多态,介绍一下常见的多态(重载、继承、虚函数);STL用过什么?(vector、queue、stack);介绍一下queue和stack常用方法;如何实现一个最小栈?(辅助栈);C++中堆和栈的区别?常见的排序算法有哪些?介绍一下堆排和快排,两者适用的环境?Linux系统中进程与线程的区别?线程间如何通信?什么是死锁?Http中get与post的区别,设计模式会吗?(没学过。。。),cookie是什么?你实习的优势是什么?(学习能力ok、实习时间长) 通过
华为操作系统(哥德尔实验室) 一面,你对车载os有何想法?如何保证os的实时性?说一下race condition;了解无锁编程嘛?了解物联网平台吗?说一个你比较熟悉的内核模块(进程调度);对于实时进程来说,FIFO与RR调度哪个优先级最高?说一下TCP/IP模型,每层都有哪些协议?每种协议都是干嘛的?(ARP,RIP,OSPF,TCP、UDP,HTTP,DNS);手撕代码(三选二,要有输入输出);(1),十进制转换成十六进制,用补码表示;(2),用随机数函数random()求圆周率;(3),二分法求log2n 主管面:车载os需要哪些特性?和你做的项目有何关系?为什么实时系统要选择C语言?区块链在无人驾驶系统中可以有应用吗?操作系统熟嘛?说一个了解比较多的(我说了内核同步),原子操作会对cache的命中率造成损失吗?自旋锁保证了什么特性?疫情在家都干嘛了?研究生写过多少代码?以后怎么规划职业发展的?看过什么书?有什么感悟?平时会怎么学习?有没有写过博客?反问环节:华为的实习生培养机制?支持长期实习吗? 通过
携程云计算 介绍一下PCA算法,区块链的核心是什么?C/C++与java的区别,C++中面向对象的特性,并举例说明;虚函数与纯虚函数?手撕代码:不许使用“==”和“if”,统计一个数组中“7”出现的次数(哈希表或者双指针);二分查找;都要写输入输出,跑通; 挂了
字节跳动 问项目:比特币中的挖矿是指什么?怎么防止重入攻击?共识机制?C++:C++11的新特性(智能指针、vector)move用过吗?动态库与静态库的差别(不会)、内存对齐及其原因、如果一块较大的数据放入内存应该怎么办?(虚存/分块);手撕代码:大于N的最小非重复数(没理解题目意思,最后面试官让说思路就行了。。。) 两轮连面:先问项目,巴拉巴拉。。。Ip网络报文格式?TTL含义?Https与http差别?三种数据库范式是啥,传递依赖有什么不好?(答了一个数据冗余,还有一个不会)死锁怎么形成的?代码优化的方法?手撕代码:已知前序中序求二叉树;数组的zigzag(a0 <= a1,a1 >= a1,a2 <= a3 .....) 挂了
趋势科技 一面:C++各种特性,static的作用(修饰函数、修饰变量、修饰成员函数的区别),const的作用,拷贝构造函数的作用?如果不定义构造函数,会怎么样?何时调用?一般怎么定义?类里面的数据初始化的顺序?C++程序运行时的链接是指什么?多态是怎么实现的?虚函数表的作用?析构函数何时调用?不同对象的调用有顺序嘛?STL用过什么?Vector的resize说一下,vector与普通数组的区别?map的底层实现是啥?红黑树的插入删除说一下,红黑树里面插入n个节点的时间复杂度?unordered_map的底层实现是啥?Hash表处理冲突的机制有哪些?详细阐述一下?Http与https的区别?说一下NAT协议?说一下DNS协议?键入一个网址之后会发生什么?https协议如何断定恶意网址的?场景题:10000000个元素怎么找第K大的元素?怎么排序?第10000个斐波那契数的后两位怎么求? 两轮连面;二面:数据库的delete和trunk的区别,mysql建索引的方式?B+树与hash表在数据库索引中的应用场景?PC按下电源之后会发生什么?BOIS会做什么工作?引导文件会放在磁盘的什么地方?引导文件都有什么类型?写个代码吧:读取一个文件的倒数k行(文件操作可以google),说了思路,没让写;函数传参入栈是什么顺序?你喜欢什么编程语言?比较一下常用的编程语言吧;说一下go的基本特性,协程了解不?怎么学习一门新知识?学习中遇到过什么困难?怎么解决的?知道哪些攻击方法?(说了SYN洪泛);中间人代理了解过吗?***用吗?都用来干嘛?说一下***的原理;手里都有哪些offer了?怎么选择offer?怎么判断岗位是否与你match? 通过
七牛云 先聊项目;数据结构:优先队列、堆的特性、如何利用别的数据结构实现堆的特性(最小栈、二叉搜索树);TCP与UDP,ARP协议的意义,TCP实现可靠性的方法,超时重传的方法?UDP的应用场景;HTTP的head方法?Http中get是怎么判断数据传输完毕的?线程与进程的区别?线程独占的数据结构有哪些?死锁,避免死索的方法;场景题:六个哲学家,六个筷子,六把锁怎么保证不会死锁?手撕代码:有序数组a,b,求a-b 挂了
百度 聊一下项目,聊一下学校,进程与线程与协程的区别,进程与线程的优缺点与应用场景;系统如何容灾了解过吗?(没有);进程建立与线程建立有何区别?(linux内核角度来答的);手撕代码:leetcode62、63(两道动规,第二道是第一道的递进) 聊项目,各种问项目;怎么合作的?怎么与别人交流?内核态与用户态的切换,为什么来回切换会损失效率?平时写代码的时候会追踪这个吗?说一下你对C和cpp的理解;手撕代码:leetcode141、142;同样,第二题是第一题的递进; 三轮连面,效率还是很可以的;场景题:浏览器键入:www.baidu.com后会发生什么?百度现已支持https那么如果以http访问百度站点会发生什么?知道为什么嘛?(不知道。。。);本科阶段有什么收获?做项目怎么解决分歧?做项目有何收获?有没有一直坚持下来的事情?你觉得从本科到现在有何提升?以后的发展规划?现在还有什么不足? 通过
字节跳动教育中台 手撕代码:有效的括号(时间复杂度O(1)),OSI模型说一下,TCP三次握手、四次挥手、拥塞控制的情景,快重传和快恢复的区别?进程调度的方法?进程与线程?IPC的方式?Socket通信与TCP的比较?内存对齐的意义?举个例子?C++里面虚函数表,动态绑定的实现途径,如果让你实现一个share_ptr你会怎么做? 手撕:混排字符串 挂了
shopee 快排与堆排的时间复杂度,堆排的具体过程,数据库的封锁级别?事务的定义?乐观锁与悲观锁?数据库索引的意义?数据库引擎是什么?Http与https的区别,http1.0与http2.0的区别,什么是面向连接?三次握手与四次挥手的过程,为什么四次挥手?进程调度的算法?进程与线程,线程独有的数据结构?比特币怎么防止“重画”?UTXO集合与wallet的比较?口嗨算法:爬楼梯、 1亿个ip找一个特定的?(排序后二分查找、字典树),100元可以玩10000次赔率为3胜率50的游戏,你的策略是?手撕代码:atoi;你可以保证三个月的实习吗? 二面:C++11有哪些新特性?说说share_ptr和unique_ptr的区别,说说内核里面epoll做了那些优化?Fd是以什么数据结构连接起来的?Epoll为何可以提升效率?具体怎么实现的?你在项目中遇到的最大的困难?写过多少代码?对实习有什么看法?接触过golang嘛?Linux熟嘛?怎么规划你的职业生涯的? HR面:实习地的意向?从本科到现在每个项目中都学到了什么?有何感悟?本科和硕士成绩怎么样? 通过
小马智行 手撕代码:链表相加,我的思路:现将两个链表翻转,然后求和,再将所得结果逆置,空间复杂度O(n),时间复杂度O(n);优化,链表逆置可以进行原地操作吗?(更改指针方向可以);第二题:有n个糖果,a每天早上吃k个,b每天晚上吃剩下的10%,求最小的k值使得a吃到的总数大于等于n/2;二分法使k在0~n的范围内尝试;一个小时结束。 挂了

阶段二:2020年秋--日常实习

公司名称 面试一 面试二 面试三 结果
腾讯日常实习 Linux指令:查看进程状态?查看文件信息?查看内存使用?查看磁盘占有量?Grep指令的原理;操作系统:进程与线程的区别?Linux系统中两者有区别吗?软链接与硬链接的区别(不会)?用户态与内核态的区别(用读文件举例说明)?网络:三次握手四次挥手的过程,为什么要三次握手?TCP与UDP的区别?TCP怎么保证有序?Http与https的区别?数据库:SQL语句的基本格式?用过哪些数据库?Python:函数传参是值传递还是引用(不会)?Python数据结构中哪些是可变的哪些是不可变的(不会)?Python中map和list查找的效率?python的map和C++的有何区别?python的浅拷贝与深拷贝的区别?C++:构造函数与拷贝构造函数的区别?堆与栈的区别?基类的析构函数要定义成虚函数嘛?为什么?Golang:什么是协程?协程与线程的区别?协程是并发安全的嘛(不会)?介绍一下golang中的同步手段(管道)?用golang写过啥?kfaka、消息队列和redis用过吗?实习都干过啥?手撕:leetcode“不同路径“” 深挖了“搜索引擎”项目与在百度实习,C++的智能指针;Linux中的进程调度,着重介绍了CFS;TCP协议的四次挥手以及原因;MySQL的封锁协议,写锁与读锁,行锁与表锁;手撕代码:硬币组合问题(现场推导动态规划解法的递推公式) 深挖项目,聊了聊实习内容,项目内容,工作分工等等;归并排序的过程?时间复杂度?最好最坏情况?堆排序的过程?建堆的过程?建堆的时间复杂度?手撕建堆过程; 通过
Bilibili自研数据库实习 实习深挖、C++内联函数,执行析构函数的顺序,string型的底层实现,两个20亿条数据的集合怎么利用多核CPU求交集,手撕代码:leetcode26 实习+聊天 通过

阶段三:2021年春--暑期实习

公司名称 面试一 面试二 面试三 结果
淘系技术提前批 自我介绍,聊实习,在腾讯和百度做过什么有意义的事情,遇到过什么技术上的难点,怎么解决的?C++:如何实现的多态?多态的类型,介绍一下虚函数表;介绍一下内存对齐,如何序列化一个结构体进行传输?需要注意哪些问题?C++程序编译运行的过程,如何链接的?如何查看是否有内存泄漏的问题?动态表和静态表的区别?(不太会)Linux中如何查看占有系统资源较多的进程,如何查看占有某端口的进程?Troc目录下存放的是什么内容?(不会)计算机网络:https和http的区别,https和http性能比较?网络流的字节序?TCP三次握手的过程,为什么要三次握手?如何实现的拥塞控制和差错控制? 口述算法:括号配对和删除链表中倒数第n个节点。Kafka在应用中解决了什么问题?Trpc中如何实现的信息传输(单例模式);介绍一下比特币的特点;做过的项目有什么难点?怎么解决的? 通过
阿里云原生 聊实习:说说在百度用过的Hadoop,说说在腾讯做了什么,以后想走业务还是走底层技术?说说“实时语言”这个项目,为什么没有深入下去,涉及哪些基础知识?应用背景是什么?操作系统中进程间通信的方式?(说了各种锁、信号量、barrier和原子操作)操作系统中子进程和父进程哪些是一样的?有没有听说过ebpf?手撕代码:顺时针遍历数组; 聊实习:在腾讯做过的最难的项目,有什么收获?Grpc与trpc的异同?在百度呢?用过hadoop不?Hadoop工作流程是怎么样的?底层如何实现分片和mapreduce?如果让你设计你会怎么做?手撕代码:二叉树的俯视图 聊实习:在腾讯主要做了什么?介绍一下trpc框架,和grpc有什么区别?如何实现的自定义监控?监控上报和全链路追踪有什么区别?数据上报的时候是采取的“pull”还是“push”,这两种方式有什么优劣?结合具体案例说一下?重构项目的时候应该怎么做?需要注意什么?比特币系统中,如何真正的篡改一个数据? 通过
阿里云SLS 聊实习:说一下自己觉得做得最好的项目;如何判断一种语言是否具有实时性?场景题:假设搜索引擎的关键字a和b对应的文档列表分别是lista和listb,然后这两个list都很长,且存储的是文章得id,问怎么求a和b交集。说了归并、hash表的思路,然后面试官说可以用位运算(一个int32的数组,每个数字的每一位可以代表一个文章id);手撕上述题目的伪代码;C++中多态有哪些,C++中的析构函数与构造函数可以多态嘛?Linux内核中锁机制有哪些?自旋锁和读写锁会引起用户态到内核态的转移吗?时间片轮转的调度算法了解不?Linux内核中进程调度有什么方法? 聊实习:腾讯的重构项目是这么做的?百度中的知识图谱在广告触发中的作用是什么样的?场景题:怎么加速图谱查找?(建索引);图谱中怎么精确匹配商品属性(如颜色、尺寸等)?如果查到了多个匹配项怎么做合并?怎么做排序?图谱和搜索引擎的联系有了解吗?基础知识:用户态和内核态的区别?Open和close一个文件哪些步骤涉及到了内核态?加锁会涉及到内核态吗?代码题:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。要求打印所有的重复数字且时间复杂度O(n),空间复杂度O(1) 通过
蚂蚁风控 聊实习:在百度做过的最难的事情是什么?收获最多的事情是什么?在学校的项目哪个做的最有心得?你在里面做了什么?有什么收获?通过实习,你以后希望的工作方向是什么样的?场景题:1、如何设计实现一个类似于map的数据结构,要求插入、查找、删除都是O(1);存储内容为k-v对;(双链表+哈希表)2、如何实现一个LRU缓存系统?(双链表+hash表);3、集群中多台机器如何保证生成的id互异?(可以选举一个master节点,与其进行通信);如果没有master节点呢?(用时间+ip地址做随机数种子生成)基础知识:数据库中乐观锁与悲观锁?如何找到10亿个数据中第二大的数?时间复杂度?操作系统中死锁是什么情况?C++中new一个对象底层是这么做的?手撕代码:顺时针遍历数组的变种。 聊实习:在腾讯怎么实现的自定义插件?遇到了什么困难?在百度做过的最有挑战的事情是什么?对比一下百度和腾讯的区别?对编程的看法?最近看过的技术书籍是什么?对高可用的理解是什么?基础知识:http与https的区别?介绍一下HDFS?浏览器输入一个网址后会发生什么?场景题:A向B转账的同时B向A转账,怎么避免死锁?(加一个计时器,如果某一线程长时间占据资源不释放的话,就将其挂起) 通过
阿里云存储 C++中的协程用过吗?(不会)线程与进程的区别,进程锁的类型与底层实现?腾讯中为什么要重构那个项目?重构之后有什么提升?怎么重构的?手撕代码:lc443、lc471 挂了
蚂蚁OceanBase 上来先手撕代码:LRU;聊项目:倒排索引和倒排文件怎么实现的?倒排文件求交集怎么做比较快?(位图)位图稀疏的话怎么优化?(稀疏矩阵的压缩)怎么压缩的?(不会)怎么实现的数据编码?为什么要编码?在腾讯做过什么?最有意义的是?遇到了什么困难?怎么解决的?基础题:static是做什么的?虚函数的实现原理?B继承A,A中的构造函数调用了一个虚函数(在B中被重写),那么B继承A的构造函数之后会调用哪个虚函数?进程有几种状态?怎么切换的?数据库的acid是什么?数据库怎么建索引?(用的时候搜一下,记不清了) 挂了
支付宝风险技术部 一面:实习三连(解决过什么问题?为什么要这样做?学到了什么新技能?);广度面:用过数据库嘛?用过哪些数据结构?刷过什么题,哪道题给你留下了比较深的印象?用过kafka、redis嘛?怎么用的?看过源码嘛?网络知识了解哪些?操作系统呢?体系结构呢?除了工作还写代码嘛?对什么方向感兴趣?以后职业规划什么样的? 主管面:你在腾讯百度实习过,感觉如何?俩家公司有啥区别?我感觉你工作能力应该没啥问题,腾讯给你发offer的话你会去吗?转java技术栈愿意吗?什么时候可以来实习? 通过
美团基础平台(自研数据库) 解释Cpp内存对齐,给了两个结构体说一下占空间大小;cpp内存模型说一下;线程同步的方式有哪些,分别是什么样的?cpp的vector介绍一下(动态表);介绍一下网络里面三次握手与四次挥手,TCP的滑动窗口;Linux操作:哪些参数反映了系统当前状态?文件操作符有什么用?怎么查找文件名带有aa的?一个日志文件过大应该怎么打开?数据库的acid介绍一下,数据库的封锁等级?数据的幻读?分布式算法了解哪些,用过什么?无锁算法了解哪些?活锁与死锁介绍一下;在腾讯实习的内容介绍一写,学到了什么?单测和接口测试怎么做的?圈复杂度怎么计算的?手撕代码:LRU 聊项目、实习,最有挑战的项目,收获最多的项目?学习新知识的方式?解释一下比特币里面的默克尔树和double spending,基础知识:四次挥手过程,wait-time和close-time的含义与作用,操作系统里面内存分配模型(页式、段页式、伙伴系统),缺页中断怎么处理,协程和线程的区别,场景题:如何设计一个多线程情况下定时唤醒框架?需要用到哪些数据结构?手撕代码:lc82 聊项目,聊实习,聊职业规划,了解希尔排序吗?了解快速排序吗,如何优化快排?快排和堆排的适用场景?20min 通过
Nvidia自动驾驶 聊项目,聊实习,大约30min;socket编程中建立连接需要哪些操作,TCP里面详细描述一下三次握手;讲一下选择重传协议,下载一个文件时下载速度为什么会先上升再平滑?32位机器与64位机器的区别是什么?如何扩展内存?讲一下虚拟内存,cache与交换区的区别?对于CPU来说怎么区分数据和地址?gdb怎么调试程序?gdp解析coredump文件的结果是什么?static关键字的作用?智能指针的用法?匿名函数用过吗?手撕代码:lc8,lc21 两轮连面,两个面试官,每人大概30-40min; 自我介绍+实习+项目三件套,进程间同步的方法?堆和栈的区别?了解驱动开发吗?(不了解)智力题:1000瓶酒,1瓶有毒,老鼠喝下去之后1h会死亡,那么最少用多少只老鼠可以在1h内筛选出那瓶有毒的酒;(要用二进制编码的思想)编程题:给定两个字符串a和b,判断b中的字符在a中是否都出现过; 自我介绍+实习+项目三件套,然后问了关于学校与实习感受的区别,还有实习的感触,编程题:给定一个只包含L和R的字符串,假设等量的L和R是一个balance,那么求该字符串中出现balance子串的最多个数; 面试官人在美国,全英面试,what is your most proud of project in intership?Do you know threads and processes?what is the different of threads and processes?when we want to share memory, how do it? can you deep talk about it? Let's do a code: find the rotation location of a rotation array. 通过
Paypal风控 问了一下百度实习的工作内容,聊cpp基础:虚函数的用法以及作用,C++11中的move语义以及智能指针,C++中的类型转换?使用多线程和多进程的场景,vector扩容的方法,unordered_map和map的区别,以及插入查找删除的时间复杂度?C++的内存分配,new操作封装了什么?手撕:cpp中string类,要求实现:构造函数、拷贝构造函数、赋值运算符重载和析构函数;什么时候会隐式的调用构造函数?如何优化这些实现? 问了项目和实习,socket发包的时候怎么解决粘包的问题,三次握手的连接怎么建立的?redis用过什么?知道有序集合的底层怎么实现的吗?讨论了一下用红黑树和B+树实现的优劣(实际用的是跳表);手撕代码:三数之和; 如何设计一个mapreduce任务?如何设计负载均衡算法?rpc框架的主要工作流程?聊天:为什么要来pp,意向强烈吗?业务兴趣? 通过
摩根士丹利 纯英文面试。。。自我介绍,实习项目介绍,项目难点(介绍部门内部自研框架的原理),基础知识:介绍一下hashtable,介绍一下memory lick,为什么会出现Menory lick?heap和stack的区别?virtual func的作用?你有什么要问我的? 挂了
Hulu 讲一下Hadoop的基本工作原理,hdfs怎么用的?MapReduce任务是什么运行的,map和reduce之间数据怎么存放;手撕代码:深拷贝带随机指针的链表(lc138);口述算法:给定一个字符串集合,判断一个新的字符串能否由集合中的子字符串组成;(lc138变形)先说了深搜的思路,但是时间复杂度太高,然后让用动规的方法,结果时间太短递推式没写出来 一面通过,但是由于base北京,二面没面

阶段四:2021年秋--应届生秋招

公司名称 面试一 面试二 面试三 结果
Vivo 高性能计算 聊腾讯实习,自研框架的工作流程,推理加速的实现方式; C++基础:纯虚函数与虚函数的区别?构造函数可以是虚函数吗?为什么?重载与重写的区别?new和malloc的区别?如何避免内存泄漏?推理模型的网络结构了解吗? 算法:数组里面怎么找到最大值(最大堆建堆); 聊人生聊理想。 通过
图森未来 Coding面为主; 介绍一下Hadoop的主要工作流程;介绍一下RPC框架的的工作流程,如何定义一个RPC服务,什么场景需要用到RPC; 1、旋转数组中的最小值;2、单词接龙 基础面: 计算机网络:OSI七层协议,应用层与运输层都有什么协议?三次握手与四次挥手的过程?过程中丢包怎么办?TCP的拥塞控制和流量控制介绍一下?什么是中间人攻击?Http与Https的区别,https的状态码你了解哪些; 操作系统:进程与线程的区别?进程通信的方式?进程调度算法?什么是死锁?怎么避免死锁? 数据库:主键与外键?什么是索引,索引有什么用?介绍一下ACID,有两张表:ID name(学生姓名表);ID CID score(学生课程成绩表);如何建索引查询所有成绩大于80分的学生姓名和对应课程?数据库视图介绍一下? Docker实现的原理?用过Docker嘛?K8S了解吗? 详细介绍一下百度和腾讯的实习; 说一下RPC框架的工作原理?TRPC如何实现监控上报?如何开发trpc框架的插件?说一下CICD每一步的具体内容; 个人职业规划?加面:主要介绍了实习内容,以及和后端负责人聊了一下未来工作期望; 通过
华为Findstar 介绍实习内容与debug的方法(5—10min); 介绍部门内容+兴趣点(5—10min); C++:C与C++的区别,如何实现多态?面向对象的思想指得是什么?重载与重写的区别? 设计模式:介绍一下工厂模式与单例模式,如何实现单例模式? 操作系统:介绍一下操作系统的主要功能?介绍一下进程线程的区别,线程间通信的方式?用户态内核态的区别? 算法:复盘机试+链表相交 简历:你对CICD技术的了解?如何学习新的技术? 操作系统:new和melloc的区别?melloc的底层实现?设计操作系统需要考虑哪些因素?进程间通信的方式有哪些?中断一般使用什么锁?堆和栈的区别,各自的增长方向? C++:构造函数与析构函数区别与大致作用,如何防止内存泄漏,如果让你设计一个静态分析内存泄漏的工具,你会怎么做?inline与宏的区别?一个C++程序从编写到运行的流程是什么样的? 计算机网络:三次握手、四次挥手、拥塞控制、TCP与UDP的区别? Code:三种括号序列是否有效?如何用随机数估算圆周率 主管面:聊天,介绍实习,问了期望薪资/意向工作地/意向技术方向等; 通过,但是给了14A,今年华为就不多说了。。
百度基础架构 你的职业规划是什么?对运维的理解是什么?愿意做和业务关联不大的方向吗?接触过运维的工作吗?你想做运维哪一块的业务? 反问:运维的日常工作是什么?需要什么技术?oncall的情况怎么样? 深挖实习,聊rpc工作原理,如何实现插件式框架;每个项目都问了一遍,编译器的工作原理,搜索引擎的工作原理等等(约30min); C++11的新特性,智能指针的作用,智能指针的垃圾回收Go中垃圾自动回收的比较?move语义介绍一下,TCP的拥塞控制的实现机制,超时和丢包的区别?进程线程的区别,通信方式?进程在接到kill指令之后会做什么?调用函数的时候内存中堆和栈的变化是什么样的?什么是虚拟内存?什么是缺页中断?缺页中断会对进程造成什么影响,会影响系统中的别的进程嘛?如果影响一个进程下的某个线程,那会对别的线程有影响吗? 口嗨算法:带权值的网格中的最短路径(dfs/动态规划),10亿个数找最大的10w个(分治/位图),找最大的5亿个呢?(快排/位图) 手撕代码:快排实现TopK 介绍百度腾讯实习的内容? 如何设计一个MapReduce的数据流处理脚本?浏览器键入网址之后会发生什么?本地有无缓存会有区别吗?无缓存的话北京和上海访问同一个网址得到的ip一样吗?数据加载是一次性的吗? 设计一个日志查询系统,每次访问有url 和 时间戳两个记录,如何在算力无限的情况下最快的找出某个时间区间所有URL对应的访问次数; 给定50个card,编号1--50,正面朝上,依次翻转1的倍数、2的倍数、3的倍数、...50的倍数,问最终哪些卡片正面朝上? 通过
百度用户增长 计算机网络:计算机网络的模型介绍一下,每一层都是做什么的?介绍一下http协议?http如何建立连接,建立连接过程?tcp建立连接和断开连接是怎么控制的?tcp和udp的区别?分别有什么应用场景? 操作系统:进程线程的区别?协程了解过不?如何使用C++实现高并发,C++的线程模型和进程模型有啥区别?在腾讯怎么做高并发? Coding:链表翻转和pow(x, n) 介绍实习,巴拉巴拉 浏览器键入网址后发生了什么?https的状态码知道哪些?udp和tcp的差别,tcp的四次挥手? 数据库事务的四大特性?数据库如何实现原子性(不了解),如何解决慢查询?封锁协议了解哪些?LRU怎么实现的了解不? 手撕LRU 三面拒了
Tiktok 介绍一下trpc的主要工作流程;如何实现路由寻址?如果每一次路由寻址都经过平台来做怎么减少开支(本地缓存);本地缓存的话如何实现负载均衡(本地做记录,实现负载均衡算法);如果出现扩容缩容怎么办?(与平台进行通信,两种方式push和pull);push和pull两种方式各有什么优缺点,分别适合什么场景?(push适合节点情况不稳定的,pull相反),如何设计兼具两种特点的策略?(扩容缩容频率高的时候用push,频率低的时候用pull);假设负载均衡过于均衡化的时候会带来新建连接过多的情况,如何避免?(使用节点窗口)不使用窗口呢?(将健康的节点分组,然后每个客户端使用hash对应一组节点,每组节点只有一个节点作为主节点,别的作为备用节点); 进程和线程的区别?进程通信的方式有哪些?使用过哪些编程语言?感受如何,说一下使用上的对比; 手撕代码:二叉搜索树最近的公共祖先的节点; 简单说了一下实习的内容; C++里面map和unordered_map的区别,查找插入删除的时间复杂度是多少?哈希表的装填因子是多少?如何扩容?优先队列是怎么实现的?建堆的过程说一下?大顶堆小顶堆的区别?为什么堆用完全二叉树不是平衡二叉树?递归的建堆怎么实现?(不太会)操作系统的逻辑地址的作用?虚拟内存的作用呢?寻址的长度?段页式设计的原理与优点?用户态和内核态的区别?何时会进行转换?除了系统调用和中断,别的时候还会发生吗?如何用栈实现队列? 口嗨算法:输入1-n求唯一一个没有出现的数字,如果输入的是n-m呢?输入的是数组怎么处理,数据流呢?如果是乱序的数组中怎么处理? 手撕代码:LRU 转组到了抖音直播,没面,太卷了
华泰证券 三个项目轮流问了一遍,问了对Fintech的看法,职业规划,区块链的应用等等 2021/8/5面试通过,进入实习考核阶段; 实习心得+实习内容+职业规划 通过,给的还挺高
阿里云 聊实习项目,主要有:代码量/遇到的问题和解决方案/规划/详细工作内容介绍等等,手撕atoi; 写一个析构函数不是虚函数造成内存泄露的例子;从数组里面删除所有的偶数;打印字符串中某个出行n次的字符串的第一个下标;伪代码写一个race condition的例子;聊了聊实习项目和职业规划 流转到了蚂蚁大安全,后来给的还挺高
腾讯部门一天美某保密项目 纯写代码,90min三道题 算法题:TopK的思路,快排基准的选取方法;单链表有环如何判断; C++:move语义的作用;给定一个类如何判断其size(内存对齐);C++的内存布局如何分布的? 操作系统:进程、协程、线程的区别,以及适用场景?linux的管道用过吗?xargs命令的作用?写个函数判断大小端,perf、oom命令用过吗? 计算网络:流量控制与拥塞控制介绍一下,四次挥手的time-wait是做什么,用过io多路复用吗? 用过哪些设计模式? 挂了
腾讯wxg--视频号 聊了聊实习内容 40min三道题:二叉树层序遍历II,旋转单链表,LRU缓存; 四次挥手的过程?close-wait和time-wait是做什么的?TCP建立连接需要哪些系统调用?如果accept()失败了会发生什么?如果系统中大量的连接是close-time状态应该怎么办?IO复用知道不?介绍一下?详细说说? 聊实习内容20min; 40min三道题:lc138,lc74,lc398,复盘代码15min,对第三题变型题讨论5min; 宣传部门20min(不是很忙,年终奖多多,团队有活力。。。) wxg三面:说一个你做过的项目,rpc框架的架构是什么样的?具体一点……再具体一点,完了,10min 挂了。。。 挂了,面委体验极差。。
momenta 聊实习内容,C++里面的智能指针有哪些?如果要copy一个unique的智能指针应该怎么做? 三道题:实现一个最简单的share_ptr;拓扑求二叉树的最大深度;买卖股票的最大收益I 聊实习,技术方向,职业规划 聊实习,技术方向,职业规划 过了,给的还真挺高
远景智能 TCP的报文头包含哪些内容,https的请求和返回包含什么信息?数据库的三大范式,MySQL的封锁等级,哪一个消除了“幻读”,介绍一下工厂模式,这里面哪些涉及到了面向对象的设计思想?介绍一下优先队列?如何实现一个优先队列?场景题:设计多个账户的两两转账系统; 二面拒了
知乎 手撕代码:斐波那契数列(递归+迭代) osi七层模型说一下,MTU的大小说一下,tcp的三次握手和四次挥手,大量的close-wait怎么处理,go的线程模型说一下,如何管理内存?UDP和TCP的区别?UDP主要适用于什么场景? 纯聊实习 30min 过了
B站 两道题:LRU缓存;打家劫舍;聊了聊实习的内容和职业规划 聊实习,写了一道题目:给定一个数组找出每个数字后面大于该数字的最近的index(栈解最优); 概率题:贝叶斯公式 聊实习; 算法:找出字符串中的所有回文字串; 过了
腾讯--金融科技 聊实习,聊项目; TCP三次握手+四次挥手,动态库静态库的区别,编译链接的过程,C++的内存布局; 算法题: atof 聊实习的项目和技术栈,聊聊自身的软实力和优点; 一致性哈希算法的介绍,一致性哈希算法的优点,rpc框架的架构; 场景题:10亿个QQ号如何存储访问最快? 聊聊天,意向书 过了
Shopee--sg--平台组 聊实习+项目,20min; 算法:找出字符串中第一个重复字符串;找出字符串中重复字符的最左边一个;给定数组[a1...anb1...bn]转化成[a1b1a2b2...anbn]且不允许使用额外空间,如果长度为2^n,应该怎么优化(分治递归,没写出来); 八股:TCP和UDP的区别?TCP如何保证可靠,对于开发人员来说TCP能保证的可靠指什么?http的状态吗知道哪些?http是有状态的吗?socket编程中的reuse_addr是什么意思?(不会)操作系统中进程线程的区别?多核系统中多线程与多进程如何选择,多线程的时候互斥锁/读写锁/自旋锁的区别?读进程过多导致写进程饥饿怎么办?读文件用什么系统调用? 手撕代码+系统设计的,让我设计一些类和方法来定义一个寻宝游戏 挂了
滴滴--用户增长 聊知识图谱触发商品信息的设计,各种逻辑; rpc服务如何设计?rpc实现的基本原理?负载均衡有哪些算法?分布式系统中,如何判断某一节点是否存活?介绍一下“一致性哈希”算法,如何设计一个单例模式?协程与线程的区别有哪些? lc:下一个排列 挂了
京东--广告组 聊实习聊项目; 虚函数与纯虚函数,redis与kafka的使用场景; 代码:合并两个有序链表,找出有序数组中重复元素的最后一个出现位置 聊实习,聊项目 fork一个进程之后,系统会有哪些操作?子进程会继承父进程的什么信息? 一道小学应用题,一道概率题(抛硬币相关),写一个生产者消费者的伪代码; 三面拒了
Pony.ai Coding:有一个秘密数字A和一个猜的数字B,请计算出有多少个数位是数字和位置都猜对了的,有多少个数位是只猜对了数字但是没猜对位置。 聊实习 lc最大矩形的面积+一道原创题 系统设计+文化面 过了
快手--广告平台 百度+腾讯实习; 最大连续子数组和+合并K个有序链表 实习内容简介; hash表的数据组织方式,如何扩容?如何实现线程安全?描述一下线程不安全的例子; C++如何实现多态,new和malloc的区别,估算磁盘读取一个数据块的时间量级? 手撕代码:只含有0,1,2的数组进行排序,只能使用元素交换的方式; 过了
美团平台 Java和C++的区别是什么?使用Java开发有什么感受?如何对Java项目进行性能评估,如何衡量接口的性能呢? 手撕:LRU 先聊实习; 基础:TCP/IP两个协议介绍一下?TCP如何实现可靠传输的?TCP报文头有哪些?讲一下超时重传是怎么做的(这里争论ACK,争论了很久), http报文头有哪些?写个SQL(不会); 编程题:实现一个split函数; 写道题,热下身:层次遍历二叉树; 说一下线程安全的例子,智能指针是线程安全的吗?智能指针底层如何实现的?STL是线程安全的嘛?类型转换的四种形式?为什么析构函数是虚函数?线程池是干嘛的?如何实现一个线程池?动态库和静态库的区别,有什么区别?静态库存储在哪里?乐观锁悲观锁的区别?以及实现方式;文件系统的脏页是什么?如何读取fd?如何避免脏页?修改文件需要哪些系统调用?close之后如何保证写成功?extern C是做什么的?线程模型知道哪些?(GMP)GMP分别指什么?协程线程的区别?为何协程适合IO密集型任务?CAS知道吗,举个例子?四次挥手说一下,看过网络库的源码嘛?Trpc的线程模型是什么样的?看过源码嘛?如何实现rpc插件?为何不做热插拔?如何分析程序性能(perf),内存泄漏怎么判断?gdb用过什么?程序卡死了之后如何使用gdb查看调用栈?多线程情况下如何使用gdb查看某一线程的运行时栈。 过了
PP转组面 项目简介; Java和C++的区别,Hashset和Hashmap的区别,hashset如何查找一个元素,如何判断一个元素是否在set中,抽象类和接口有什么区别?ArrayList和LinkedList的区别,说说你知道的容器类,这些是线程安全的嘛?如何实现线程安全?如果不用锁怎么实现?手撕代码:lc1+lc40 项目简介; DNS用了TCP还是UDP?浏览器输入网址之后会做什么?用到了什么协议,每个协议是干嘛的?公私钥的加密是怎么实现的?CA机制说一下,CA机制是为了保障什么的?手撕代码:lc199 Manager:聊聊天 过了,留了
思科 C++基础+多态+翻转链表 N叉树的前序遍历;实现自定义cmp的set;快速排序;数组中某个数字出现的最后一个位置; 三轮连面,问了大量重复问题,还有面试官全程玩手机,拒了

总结

感谢学校给了大量试错的机会,在毕业前就有了一些经历,关于择业与实习体验请移步:

https://zhuanlan.zhihu.com/p/428605415

https://zhuanlan.zhihu.com/p/434810883

#2021届秋招进度交流##阿里巴巴##腾讯##百度##美团##字节跳动##北京小马智行科技有限公司##面经#
全部评论
太猛了
点赞 回复
分享
发布于 2021-12-12 20:30
太牛了,最后去哪啦
点赞 回复
分享
发布于 2021-12-13 11:50
联想
校招火热招聘中
官网直投
这就是大佬,太牛了
点赞 回复
分享
发布于 2021-12-13 12:08
也太优秀了
点赞 回复
分享
发布于 2021-12-13 12:25
20先研泪目
点赞 回复
分享
发布于 2021-12-13 14:05
。。。这什么履历。人麻了
点赞 回复
分享
发布于 2022-07-27 13:50
直呼看不懂啊。IT界,不是一般人能够玩的啊。
点赞 回复
分享
发布于 2023-02-21 19:11 广东

相关推荐

【一面】对着项目问的比较多1.&nbsp;线性回归的假设条件是什么2.&nbsp;介绍lstm,transformer这些3.&nbsp;transformer相比于seq2seq,它的增量点在什么地方4.&nbsp;因果推断和(事件发生前拟合一个模型,使用这个模型对事件发生后进行预测从而得到效应),增量在什么地方,有哪些本质上的区别(跟我的项目相关)5.&nbsp;对于销量预测模型,你有什么思路;怎么进行模型选型;如果没有其他特征,只有按时间变化的销量,可以怎么预测?6.&nbsp;一个人投篮的命中率是60%,是投10次至少命中7次的概率大,还是投100次至少命中70次的概率大(大数定律)7.&nbsp;手撕:两个椭圆x^2+y^2/2=1,x^2/2+y^2=1,求这两个椭圆相交部分的面积(蒙特卡洛模拟,好像还可以使用极坐标直接求解,忘了)比较注重数理(可能也是因为我是数理出身)【二面】1.&nbsp;50个黑球和50个白球,分别放进两个框,怎么放置,可以让一个人拿到白球的概率最大2.&nbsp;一个细胞的生命有三个小时,每个小时都会分裂一次,到T时刻会有多少细胞呢?3.&nbsp;希望在算法岗从事什么样子的工作4.&nbsp;技术栈有哪些面试时间很短,面试官很佛系,没咋问【三面】1.&nbsp;问对深度学习那块比较熟,回答时序预测,问有无读过现在的SOAT方法,回答无(没读过啥paper)2.&nbsp;什么样的embedding是好的embeding,怎么评估3.&nbsp;选择unieval模型是怎么做的模型选型4.&nbsp;拿到一个新方向是怎么调研的,怎么去找论文的5.&nbsp;介绍transformer,每个encoder的结构是什么6.&nbsp;介绍self-attention7.&nbsp;怎么理解q,k,v8.&nbsp;可以使用同一个W_q和W_k吗9.&nbsp;为什么q×k之后要scale,d&nbsp;是什么10.&nbsp;时空图(论文,但是别人做的这part,自己不太了解了)11.&nbsp;手撕:打家劫舍(偏重对算法的理解,和项目实现上的一些细节)一二面反馈非常快,5分钟就会有下一面的反馈,三面无了,可能自己没过攒人品攒人品攒人品!许愿许愿许愿!
点赞 评论 收藏
转发
70 237 评论
分享
牛客网
牛客企业服务