中科大软件学院硕士:实习秋招百多轮面试总结(中)
大家好,我是对白。
继上篇中科大软件学院硕士:实习秋招百多轮面试总结(上)收获了大家一致好评后,今天继续分享其它公司的面试经验和心得体会,希望可以帮助打算找工作或跳槽的朋友们~
阶段一:2020年春--日常实习
13. 趋势科技
一面:
1. C++各种特性,static的作用(修饰函数、修饰变量、修饰成员函数的区别)
2. Const的作用,拷贝构造函数的作用?如果不定义构造函数,会怎么样?何时调用?一般怎么定义?
3. 类里面的数据初始化的顺序?
4. C++程序运行时的链接是指什么?
5. 多态是怎么实现的?虚函数表的作用?
6. 析构函数何时调用?不同对象的调用有顺序嘛?
7. STL用过什么?Vector的resize说一下,vector与普通数组的区别?
8. map的底层实现是啥?
9. 红黑树的插入删除说一下,红黑树里面插入n个节点的时间复杂度?
10. unordered_map的底层实现是啥?
11. Hash表处理冲突的机制有哪些?详细阐述一下?
12. Http与https的区别?说一下NAT协议?说一下DNS协议?
13. 键入一个网址之后会发生什么?
14. https协议如何断定恶意网址的?
15. 场景题:10000000个元素怎么找第K大的元素?怎么排序?第10000个斐波那契数的后两位怎么求?
二面:
1. 数据库的delete和trunk的区别,Mysql建索引的方式?
2. B+树与hash表在数据库索引中的应用场景?
3. PC按下电源之后会发生什么?BOIS会做什么工作?
- 引导文件会放在磁盘的什么地方?引导文件都有什么类型?
5. 代码题:读取一个文件的倒数k行;
6. 函数传参入栈是什么顺序?
7. 你喜欢什么编程语言?比较一下常用的编程语言吧;
8. 说一下go的基本特性,协程了解不?
9. 怎么学习一门新知识?学习中遇到过什么困难?怎么解决的?
10. 知道哪些攻击方法?(说了SYN洪泛);中间人代理了解过吗?
11. VPN用吗?都用来干嘛?说一下VPN的原理;
12. 手里都有哪些offer了?怎么选择offer?怎么判断岗位是否与你match?
结果:
通过
14. 七牛云
一面:
1. 聊一聊项目;
2. 数据结构:优先队列、堆的特性、如何利用别的数据结构实现堆的特性(最小栈、二叉搜索树);
3. TCP与UDP,ARP协议的意义,TCP实现可靠性的方法,超时重传的方法?UDP的应用场景;
4. HTTP的head方法?Http中get是怎么判断数据传输完毕的?
5. 线程与进程的区别?线程独占的数据结构有哪些?
6. 死锁,避免死索的方法;
7. 场景题:六个哲学家,六个筷子,六把锁怎么保证不会死锁?
8. 代码题:有序数组a,b,求a-b;
结果:
挂了
15. 百度
一面:
1. 聊一聊项目,聊一下学校;
2. 进程与线程与协程的区别,进程与线程的优缺点与应用场景;
- 系统如何容灾了解过吗?
4. 进程建立与线程建立有何区别?(linux内核角度来答的)
5. 代码题:LeetCode62、63(两道动规,第二道是第一道的递进)
二面:
1. 聊项目,各种问项目;怎么合作的?怎么与别人交流?
2. 内核态与用户态的切换,为什么来回切换会损失效率?平时写代码的时候会追踪这个吗?
3. 说一下你对c和cpp的理解;
4. 代码题:LeetCode141、142;同样,第二题是第一题的递进;
三面:
1. 场景题:浏览器键入:www.baidu.com后会发生什么?百度现已支持https那么如果以http访问百度站点会发生什么?知道为什么嘛?
2. 本科阶段有什么收获?做项目怎么解决分歧?做项目有何收获?
3. 有没有一直坚持下来的事情?你觉得从本科到现在有何提升?
4. 以后的发展规划?现在还有什么不足?
结果:
通过
16. 字节跳动教育中台
一面:
1. 代码题:有效的括号(时间复杂度O(1));
2. OSI模型说一下,TCP三次握手、四次挥手、拥塞控制的情景,快重传和快恢复的区别?
3. 进程调度的方法?进程与线程?
4. IPC的方式?Socket通信与TCP的比较?
5. 内存对齐的意义?举个例子?
6. C++里面虚函数表,动态绑定的实现途径,如果让你实现一个share_ptr你会怎么做?
二面:
代码题:混排字符串
结果:
挂了
17. Shopee(虾皮)
一面:
1. 快排与堆排的时间复杂度,堆排的具体过程;
2. 数据库的封锁级别?事务的定义?
3. 乐观锁与悲观锁?
4. 数据库索引的意义?数据库引擎是什么?
5. http与https的区别,http1.0与http2.0的区别;
6. 什么是面向连接?三次握手与四次挥手的过程,为什么四次挥手?
7. 进程调度的算法?进程与线程,线程独有的数据结构?
8. 比特币怎么防止“重画”?UTXO集合与wallet的比较?
9. 代码题一:爬楼梯、 1亿个IP找一个特定的?(排序后二分查找、字典树),100元可以玩10000次赔率为3胜率50的游戏,你的策略是?
10. 代码题二:atoi;
11. 你可以保证三个月的实习吗?
二面:
1. C++11有哪些新特性?
2. 说说share_ptr和unique_ptr的区别,说说内核里面epoll做了那些优化?
3. Fd是以什么数据结构连接起来的?
4. Epoll为何可以提升效率?具体怎么实现的?
5. 你在项目中遇到的最大的困难?写过多少代码?
6. 对实习有什么看法?接触过golang嘛?
- Linux熟嘛?怎么规划你的职业生涯的?
HR面:
1. 实习地的意向?
2. 从本科到现在每个项目中都学到了什么?有何感悟?
- 本科和硕士成绩怎么样?
结果:
通过
18. 小马智行
一面:
1. 代码题一:链表相加,空间复杂度O(n),时间复杂度O(n);优化,链表逆置可以进行原地操作吗?(更改指针方向可以);
2. 代码题二:有n个糖果,a每天早上吃k个,b每天晚上吃剩下的10%,求最小的k值使得a吃到的总数大于等于n/2;二分法使k在0~n的范围内尝试;
结果:
挂了
阶段二:2020年秋--日常实习
1. 腾讯
一面:
1. Linux指令:查看进程状态?查看文件信息?查看内存使用?查看磁盘占有量?
2. grep指令的原理;
3. 操作系统:进程与线程的区别?
- Linux系统中两者有区别吗?软链接与硬链接的区别(不会)?
5. 用户态与内核态的区别(用读文件举例说明)?
6. 网络:三次握手四次挥手的过程,为什么要三次握手?
7. TCP与UDP的区别?TCP怎么保证有序?
8. http与https的区别?
9. 数据库:SQL语句的基本格式?用过哪些数据库?
10. Python:函数传参是值传递还是引用(不会)?
11. Python数据结构中哪些是可变的哪些是不可变的(不会)?
12. Python中map和list查找的效率?
13. python的map和C++的有何区别?
14. python的浅拷贝与深拷贝的区别?
15. C++:构造函数与拷贝构造函数的区别?堆与栈的区别?基类的析构函数要定义成虚函数嘛?为什么?
16. Golang:什么是协程?协程与线程的区别?协程是并发安全的嘛(不会)?
17. 介绍一下golang中的同步手段(管道)?用golang写过啥?
18. kfaka、消息队列和redis用过吗?
19. 实习都干过啥?
20. 代码题:leetcode“不同路径“”
二面:
1. 深挖了“搜索引擎”项目与在百度实习,C++的智能指针;
2. Linux中的进程调度,着重介绍了CFS;
-
TCP协议的四次挥手以及原因;
-
MySQL的封锁协议,写锁与读锁,行锁与表锁;
5. 代码题:硬币组合问题(现场推导动态规划解法的递推公式)
三面:
1. 深挖项目,聊了聊实习内容,项目内容,工作分工等等;
2. 归并排序的过程?时间复杂度?最好最坏情况?
3. 堆排序的过程?建堆的过程?建堆的时间复杂度?
4. 手撕建堆过程;
结果:
通过
2. B站
一面:
1. 实习深挖;
2. C++内联函数,执行析构函数的顺序,string型的底层实现;
3. 两个20亿条数据的集合怎么利用多核CPU求交集;
4. 代码题:leetcode26
二面:
实习+聊天
结果:
通过
阶段三:2021年春--暑期实习
1. 阿里巴巴淘系
一面:
1. 自我介绍,聊实习,在腾讯和百度做过什么有意义的事情,遇到过什么技术上的难点,怎么解决的?
2. C++:如何实现的多态?多态的类型,介绍一下虚函数表;
3. 介绍一下内存对齐,如何序列化一个结构体进行传输?需要注意哪些问题?
4. C++程序编译运行的过程,如何链接的?如何查看是否有内存泄漏的问题?
5. 动态表和静态表的区别?
6. Linux中如何查看占有系统资源较多的进程,如何查看占有某端口的进程?7. Troc目录下存放的是什么内容?
8. 计算机网络:https和http的区别,https和http性能比较?
9. 网络流的字节序?TCP三次握手的过程,为什么要三次握手?
10. 如何实现的拥塞控制和差错控制?
二面:
1. 口述算法:括号配对和删除链表中倒数第n个节点;
2. Kafka在应用中解决了什么问题?
3. Trpc中如何实现的信息传输(单例模式);
4. 介绍一下比特币的特点;
5. 做过的项目有什么难点?怎么解决的?
结果:
通过
2. 阿里云原生
一面:
1. 聊实习:说说在百度用过的Hadoop,说说在腾讯做了什么,以后想走业务还是走底层技术?
2. 说说“实时语言”这个项目,为什么没有深入下去,涉及哪些基础知识?应用背景是什么?
3. 操作系统中进程间通信的方式?(说了各种锁、信号量、barrier和原子操作);
4. 操作系统中子进程和父进程哪些是一样的?
5. 有没有听说过ebpf?
6. 代码题:顺时针遍历数组;
二面:
1. 聊实习:在腾讯做过的最难的项目,有什么收获?
2. grpc与trpc的异同?
3. 在百度呢?用过hadoop不?Hadoop工作流程是怎么样的?
4. 底层如何实现分片和mapreduce?如果让你设计你会怎么做?
5. 代码题:二叉树的俯视图
三面:
1. 聊实习:在腾讯主要做了什么?
2. 介绍一下trpc框架,和grpc有什么区别?
3. 如何实现的自定义监控?监控上报和全链路追踪有什么区别?
4. 数据上报的时候是采取的“pull”还是“push”,这两种方式有什么优劣?结合具体案例说一下?
5. 重构项目的时候应该怎么做?需要注意什么?
6. 比特币系统中,如何真正的篡改一个数据?
结果:
通过
3. 阿里云SLS
一面:
1. 聊实习:说一下自己觉得做得最好的项目;
2. 如何判断一种语言是否具有实时性?
3. 场景题:假设搜索引擎的关键字a和b对应的文档列表分别是lista和listb,然后这两个list都很长,且存储的是文章得id,问怎么求a和b交集;
4. 手撕上述题目的伪代码;
5. C++中多态有哪些,C++中的析构函数与构造函数可以多态嘛?
6. Linux内核中锁机制有哪些?
7. 自旋锁和读写锁会引起用户态到内核态的转移吗?
- 时间片轮转的调度算法了解不?
9. Linux内核中进程调度有什么方法?
二面:
1. 聊实习:腾讯的重构项目是这么做的?
2. 百度中的知识图谱在广告触发中的作用是什么样的?
3. 场景题:怎么加速图谱查找?(建索引);图谱中怎么精确匹配商品属性(如颜色、尺寸等)?如果查到了多个匹配项怎么做合并?怎么做排序?图谱和搜索引擎的联系有了解吗?
4. 基础知识:用户态和内核态的区别?
5. Open和close一个文件哪些步骤涉及到了内核态?加锁会涉及到内核态吗?6. 代码题:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。要求打印所有的重复数字且时间复杂度O(n),空间复杂度O(1)
结果:
通过
4. 蚂蚁风控
一面:
1. 聊实习:在百度做过的最难的事情是什么?收获最多的事情是什么?
2. 在学校的项目哪个做的最有心得?你在里面做了什么?有什么收获?
3. 通过实习,你以后希望的工作方向是什么样的?
4. 场景题:1、如何设计实现一个类似于map的数据结构,要求插入、查找、删除都是O(1);存储内容为k-v对;(双链表+哈希表)
5. 如何实现一个LRU缓存系统?(双链表+hash表);
- 集群中多台机器如何保证生成的id互异?(可以选举一个master节点,与其进行通信);如果没有master节点呢?(用时间+ip地址做随机数种子生成)
7. 基础知识:数据库中乐观锁与悲观锁?如何找到10亿个数据中第二大的数?时间复杂度?
8. 操作系统中死锁是什么情况?
9. C++中new一个对象底层是这么做的?
10. 代码题:顺时针遍历数组的变种。
二面:
1. 聊实习:在腾讯怎么实现的自定义插件?遇到了什么困难?
2. 在百度做过的最有挑战的事情是什么?对比一下百度和腾讯的区别?
3. 对编程的看法?最近看过的技术书籍是什么?
4. 对高可用的理解是什么?
5. 基础知识:http与https的区别?
6. 介绍一下HDFS?
7. 浏览器输入一个网址后会发生什么?
8. 场景题:A向B转账的同时B向A转账,怎么避免死锁?(加一个计时器,如果某一线程长时间占据资源不释放的话,就将其挂起)
结果:
通过
技术交流群邀请函
已建立CV/NLP/推荐系统/多模态/内推求职等交流群!想要进交流群学习的同学,可以直接扫下方二维码进群。
加的时候备注一下:昵称+学校/公司。群里聚集了很多学术界和工业界大佬,欢迎一起交流算法心得,日常还可以唠嗑~
后台回复关键词【人工智能】
领取整理最全面的人工智能学习礼包
后台回复关键词【对比学习】
获取最新对比学习
在各大顶会上的论文合集!
往期精彩回顾
[
中科大软件学院硕士:实习秋招百多轮面试总结(上)
[
2021年后一个算法工程师的门槛有多高?
[
ACL2021 | 对比学习8篇论文一句话总结
最后欢迎大家关注我的微信公众号:对白的算法屋(duibainotes),跟踪NLP、推荐系统和对比学习等机器学习领域前沿,日常还会分享我的创业心得和人生感悟。想进一步交流的同学也可以通过公众号加我的微信,和我一同探讨技术问题,谢谢!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
2018-03-13 hiveserver2连接报错: User: root is not allowed to impersonate anonymous (state=08S01,code=0)
2018-03-13 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
2018-03-13 允许Ubuntu系统下Mysql数据库远程连接
2018-03-13 详解如何使用Docker Hub官方的MySQL镜像生成容器
2018-03-13 Docker的Mysql数据库:把数据存储在本地目录
2018-03-13 Docker搭建Mysql容器
2018-03-13 Docker中查看Mysql数据库中的各环境参数