已经四月中旬了,而我还是没有暑期实习的 offer!不知道是受疫情影响各大厂的 hc 都有所缩减,还是因为自己真的还比较菜,反正最终的结果就是没!有!offer!从三月开始陆陆续续投简历,心态从最初的害怕面试到焦虑(各种一面挂)到中期的佛系再到现在的又一次焦虑(马上四月底了,要失业了),在这里记录一下面试过的一些公司的面经,希望对自己的秋招有所帮助,也希望能帮助到有需要的小伙伴们。
一面
个人介绍
项目
- 定时任务 Spring Task 的底层
- 权限控制
MySQL
存储引擎有哪些(除了myisam 和 innodb)
MyISAM 和 InnoDB
区别
具体哪些场景可以用这两种存储引擎
事务的特性(ACID),结合项目举个例子
事务的隔离级别,可重复读可能会产生的问题
索引有哪几种
主键索引 唯一索引 普通索引(单列、复合) 全文索引
联合索引,最左前缀匹配
索引(A,B),where b = ? and a = ?是否会用到索引
为什么要最左前缀匹配
Redis
用过 redis 的哪些功能
redis 集群有哪些
单机 redis 有办法保证高可用吗
redis 线程模型
redis 是单线程还是多线程,单线程为什么吞吐量可以这么大
Spring
请求和转发这两种的区别,还有重定向
aop 的原理
两种动态代理的区别
分别适用于什么场景
ioc
java 集合
hashset 内部工作原理,是否线程安全,如何使其线程安全或者替代类
变量的可见性如何保证 volatile
并发类用过哪些 concurrenthashmap,用的是什么方式加锁,加的是什么锁
可重入锁和 synchronized 的区别
公平锁和非公平锁的区别
二面
讲一讲让你比较有成就感的一个业务问题(交大图书馆项目)
实习期间还有什么其它的项目(海关项目)
WebVOWL 图的节点有多少个
假设数据量增加一千倍,有哪些地方需要修改
近期的项目
有没有遇到一些数据对不上的问题(数据质量问题)
写 SQL:有一张图书借阅次数表,三个字段 category bookname count(借阅次数),找到每个类别借阅次数最多的图书,如果有并列第一返回图书名字按字典序排列的第一个
自己的工作运行ok,但上游的工作出现了问题,你会怎么做
数据核对的压力很大,可能经常会有错误数据,这个问题要如何改善
可能会遇到一些当前能力解决不了的问题,要怎么样去提前做一些储备
近期印象比较深的一些博客,之前呢
HR面
一些奇奇怪怪的问题,面完就没后话了
腾讯
复试凉,感觉腾讯对我来说是真爱了(?,总共捞了我四次,自己投的是后台开发,中间被前端开发捞过,正写面经的时候又接到了腾讯的电话,结果这回变成了测开?做 java 的和腾讯确实是有点相性不合,两次后台面试经历还都是用 c++ 做算法落地的
CSIG 初试(两次初试) 图像算法落地
第一次:聊项目,做题
一个数量为 n 的整数数组,其中一个数字出现次数超过 n/2,找出该数字
俄罗斯轮盘赌,左轮手枪,有6个子弹巢,有2颗子弹放入相邻的弹巢,随机拨动转轮,然后朝我开一枪,但我还活着,现在轮到你开枪了。假如你还不想死,你有2个选择,第一是随机拨动转轮然后朝自己开一枪,第二是直接朝自己开一枪,你会如何选择?为什么?
给一张用户活跃模型表,字段包括日期,用户id,新用户标识,一条记录表示该用户当日登录。写 SQL 语句,计算每日 DAU(活跃用户量,即有登录的用户量)
未来的发展城市
短期和长期的目标,侧重在哪一方面
自己的优缺点
跟上司意见不一致的话会怎么处理
最近在看些什么书,或者有些什么个人项目
如何定位内存泄露
最近比较有挑战的一个项目
几个人做,自己负责哪些模块
项目的瓶颈在哪里,比如数据量增长
项目有哪些地方可以优化
如果让你来实习的话,你准备怎样去开展工作
复试
如何体现自己的学习能力
介绍项目,自己负责的部分
正则表达式,可能遇到的问题
tcp 是如何保证可靠性传输的
为什么是三次握手,而不是两次或四次
一个函数随机生成1-5,如何用另一个函数随机生成1-7
赛马问题
PCG 初试(推荐算法落地)
有接触过机器学习,大数据处理相关的东西吗
非关系型数据库用过哪些
MySQL 搞过的比较大的数据有多少
MySQL中的连接,如 left join,和全连接有什么区别
有10亿个整数,其中存在重复的,要如何找到哪些数字重复了
解释一下 LRU cache,get、put 操作的时间复杂度
c++ 中虚函数的实现机制
Linux 有经验吗
分布式有搞过一些吗
进程 线程 协程
程序用多线程来实现的话,开多少个线程比较合适
有用过 Hadoop 吗,讲讲 MapReduce
阿里
我只能说,我被针对了,简历面问出这问题就不想让我过啊(给大家提个醒,最好不要在自我介绍的时候说自己认为业务比技术重要,反正有偏向性的话都别说,你不知道你会遇到什么样的面试官,血的教训)
搜索推荐 提前批 一面
自我介绍
ElasticSearch,基本的搜索引擎包括哪些模块
HashMap 的实现原理,是否线程安全
maven 遇到包的冲突问题要如何解决
Java 内存泄漏 使用哪些工具判断
JVM 运行时数据区,Java 内存分配机制
Cookie 和 Session 的区别
浏览器从输入地址到页面渲染出来有哪些流程
两道算法题
圆圈中最后剩下的数字
左旋转字符串
钉钉 简历面
如果某个资源是新增的,没有历史数据,要怎么计算环比同比
如果手动生成会涉及到多个数据源的汇总,耗时比较长,要如何处理,是要等待吗
如果每个数据源中都有上亿的数据,要如何统计一年的数据。会遇到哪些性能问题,该在哪些方面优化
如果数据量比较大,并且有十几个数据源,要如何处理能给用户尽快反馈(提高速度)
如果是一个服务器集群,这套系统要如何去使用
这个项目中的技术亮点或技术瓶颈
数据量很大,每台手机只负责一个区域的数据查询,那么有哪些地方可以做优化
数据存储上,查询上
数据做汇总的时候,数据量太大,导致内存崩掉了,该怎么优化 JVM
快手
一面凉,没话说,写完代码的基本功能20分钟已经过去了,没顾上处理异常情况。问面试官为什么不问基础知识,面试官说前面面了几个人感觉大家都差不多,没什么好问的,所以你就做题吧。我:?
一面
一道编程题(20分钟写完),要求尽可能考虑到所有的 corner case
完成函数 String process(String url, Map<String, String> params) {}
函数的参数:url 表示一个网址,params 表示一个参数列表
函数的功能:如果 param 中的参数在 url 中存在,则什么也不做,如果不存在,添加到 url 中
举例: url http://ab.com/a/b/c?a=b&c=d&e=f#swwda=x params c: h a: b y: d
美团
一面
项目相关
为什么不用 Django 而用 Flask
redis 用到了哪些数据类型
数据库4种事务隔离级别
输入网址到页面显示经历了哪些过程
场景题:
假设有一套业务系统,服务于最多1000万用户。每个用户通过唯一的用户名标识,用户名可以包含数字、字母、下划线,不超过16个字符。用户需要通过“注册”的动作,将自己的用户名注册到业务系统上,注册成功后业务系统随机为其分配一个[0,31]的数字。用户可以注销自己的用户名。注销时,用户需要输入自己的用户名,业务系统删除保存的用户名和与之对应的数字。用户也可以通过自己的用户名查找或修改业务系统为其分配的数字。
请设计一种算法实现上述需求。操作速度优先。方便起见,用户名以及对应的数字都保存在内存中。
如果用户名限制为中国大陆的手机号码(假设目前共130、131等20个号段),为追求上述操作速度最快,请问你有何建议?(数组)
编程题:冒泡排序
二面
编程题:合并两个有序链表
讲一下思路
如果是两个无序链表会怎么做
TCP 的可靠性是如何保证的
拥塞控制的三种解决办法
TCP 为什么要三次握手,两次可不可以
Linux 修改文件的权限命令
Linux 实时跟踪日志命令
Linux 日志文件中检索一些关键字
I/O 多路复用,select 的容量限制大概多大
有用过哪些常见的中间件
项目里为啥要用 mq,为什么不用 rpc 呢
了解 mq 的一些特性吗
用过什么缓存,redis 用过吗
celery 进程一般都怎么起,进程数
了解过分布式锁吗
讲一个做过的项目
将来的职业规划
字节
一面
http https http2.0 之间的关系
https 的流程
浏览器请求某个接口,但是超时卡住,一般如何排查这个问题
tcp 和 udp 的区别,包头分别是多少个字节
数据库的四种隔离级别
什么是幻读,数据库如何解决幻读
编程题
求根号n的值,精确到小数点后5位,不调用任何系统函数
二面
SQL
编程题
最大连续子序列和