中科大软件学院硕士:实习秋招百多轮面试总结(中)

简介: 中科大软件学院硕士:实习秋招百多轮面试总结(中)

大家好,我是对白。


继上篇中科大软件学院硕士:实习秋招百多轮面试总结(上)收获了大家一致好评后,今天继续分享其它公司的面试经验和心得体会,希望可以帮助打算找工作或跳槽的朋友们~


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


趋势科技



一面:


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;


结果:


挂了‍‍‍


百度



一面:


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. 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转账,怎么避免死锁?(加一个计时器,如果某一线程长时间占据资源不释放的话,就将其挂起)


结果:


通过

相关文章
|
存储 关系型数据库 MySQL
2024年Java秋招面试必看的 | MySQL调优面试题
随着系统用户量的不断增加,MySQL 索引的重要性不言而喻,对于后端工程师,只有在了解索引及其优化的规则,并应用于实际工作中后,才能不断的提升系统性能,开发出高性能、高并发和高可用的系统。 今天小编首先会跟大家分享一下MySQL 索引中的各种概念,然后介绍优化索引的若干条规则,最后利用这些规则,针对面试中常考的知识点,做详细的实例分析。
618 0
2024年Java秋招面试必看的 | MySQL调优面试题
产品经理-面试问题(实习)
这份文档主要讨论了实习面试中的常见问题,指出市面上的“面试100问”多针对C端产品,而B端和G端产品的面试则更注重实际工作经验。文中列举了几个典型的实习面试问题,如介绍实习经历、遇到的困难及解决方法、最佳项目以及竞争优势等,并提供了回答这些问题的思路和建议。文档还引导读者查阅更多相关资料,如高频分级面试和初级面试问题。
414 5
|
自然语言处理 网络协议 JavaScript
23.2月 可能七牛云实习测试面试(技术面一面)面经整理
关于2月进行的七牛云实习测试面试(技术面一面)的面经整理,涵盖了多个技术问题,包括马尔可夫链的用处、软件测试工具、TCP/IP协议的三次握手过程、TCP与UDP的区别、网络诊断方法、DNS的作用、ifconfig命令的用途、Spring Boot的优势以及Java中Map的了解,还包括了一个编程题目:在n个书中找出k个最小的数。
|
数据采集 Python
python中的正则表达式,Python实习面试经验汇总
python中的正则表达式,Python实习面试经验汇总
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
|
SQL 分布式计算 前端开发
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
|
数据采集 Python
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
|
运维 算法 程序员
程序员去国企:长城资产IT岗位秋招面试记录
【2月更文挑战第7天】本文介绍2024届秋招中,中国长城资产管理股份有限公司的信息技术岗岗位一面的面试基本情况、提问问题等~
509 8
|
存储 缓存 监控
2024年春招小红书前端实习面试题分享
春招已经拉开帷幕啦! 春招的拉开,意味着新一轮的求职大战已经打响,希望每位求职者都能充分准备,以最佳的状态迎接挑战,找到心仪的工作,开启职业生涯的新篇章。祝愿每位求职者都能收获满满,前程似锦!
450 3
|
存储 索引 Python
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
【python学习】列表、元组、字典、集合,秋招是不是得到处面试