没能圆梦bat,但至少也努力过

俗话说:金九银十。但是今年说金八银九感觉也不为过。想起7月底就开始在准备秋招,八月底一路跌跌撞撞没有成绩,终于在九月底完成了自己的秋招。发帖子以记录一下,未来想到时。还可以回来翻翻帖子,回味秋招的日子。以下长文警告.........
————————————————————————————

字节提前批:

一面(挂):

1.四道算法选一道:A.链表对称翻转 B.找出无序数组中加起来和为某个target的连续子序列 C.出租车在一条公路上走,有好几个红绿灯,某个时间出发,最快多久能到达终点 D.记不清了,类似笔试题
————————

网易提前批:

一面:

1.介绍项目,对着项目问:分布式,一致性哈希,缓存,服务器请求过程等
2.做题:两个数组,在B数组中查找第一个大于A数组里中位数的数字
3.数据库语句,计网知识,Java多线程相关知识,Java基本类型和类之间拆箱装箱关系

二面(挂):

1.JVM基础知识一箩筐
2.Java并发编程知识一箩筐
3.项目介绍
4.做题:一个矩阵,从左上角查找最长的一条路径,(路径要求:和下一个方格(前后左右都行)的差不超过1,如果到尽头则直接输出),输出出来。
————————

珍爱网:

一面:

  • 自我介绍

  • 项目介绍

  • Java 的锁有哪几种分别说一说

  • volatile 是线程安全的吗

  • Java 线程池如何设置参数

  • Redis 实现分布式锁的原理说一下

  • Redis 实现缓存是存储什么数据,过期时间是多少

  • Mysql 存储了哪些数据?

  • 索引实现原理是什么

  • 索引哪些情况下会失效

  • 设计索引有什么需要考虑的因素

  • 如何查看 SQL 语句的执行情况

  • 除了 Redis 实现分布式锁,还有什么办法:ZK

  • ZK 实现分布式锁的原理了解吗?不了解,但了解如何实现服务注册与发现

  • zk 如何保证高可用

  • zk 高可用的实现原理是什么

  • 看来你对zk这块还不太熟悉,我们聊点别的吧

  • TCP timewait 情况了解吗?怎么解决

  • 操作系统的 epollo 讲一下

  • 虚拟内存,物理内存

  • 反问

珍爱网二面

  • 自我介绍

  • 项目介绍:深究项目细节

  • 项目当中的作用

  • 有什么难点如何解决

  • 项目目标是什么

  • 有什么提升

  • 项目相关的 TCP 三次握手的原理

  • 多线程,并发,负载均衡怎么处理的

  • 反问

珍爱网HR面

  • 自我介绍

  • 对公司了解

  • 想去怎样的公司

  • 之前实习的公司觉得如何

  • 想在以后获得什么

  • 哪里人,家人怎么看你来面试这家公司

  • 反问
————————————

腾讯:

一面:

  • 项目介绍

  • Nginx 相关负载均衡算法

  • 一致性哈希

  • http 长连接、短连接

  • epoll 边缘触发与水平触发

  • epoll 空轮询 bug

  • https

  • linux 的页内存。答不会但是了解操作系统的虚拟分页

  • 操作系统虚拟内存:分页分段

  • linux 命令:du、top、free、netstat

  • Redis 在项目中怎么使用,使用什么特性

  • 分布式锁的实现除了 Redis 还有什么?

  • zk 分布式锁实现原理了解吗?不了解,了解服务注册与发现原理

  • zk 服务注册与发现

  • 算法:复杂链表的复制

  • 服务分组怎么搞(还可以靠标签解决)

二面:

  • 自我介绍

  • 解释一下Tomcat的运行机制

  • 计网HTTP原理

  • 虚拟内存存在的意义/设计原理

  • Redis 存储缓存比起 Mysql 有什么区别,能用 Redis 存储数据库数据吗

  • 缓存与硬盘的优点缺点比较,为什么需要缓存

  • 项目介绍

  • 针对项目:

    • 如何优化

    • 测试效果如何

    • Redis 分布式锁怎么使用

    • 除了Redis实现分布式锁,还知道其他的分布式锁实现方式吗: ZK分布式锁实现/基于Mysql的分布式锁实现

    • 设计的线程池运行策略是怎样的

    • 线程池线程数如何设计

    • 为什么没有任务执行的线程要关闭 : 答线程上下文切换会带来损耗

    • 线程上下文为什么会带来损耗 : 讲了用户态和内核态的切换

  • 有没有玩过游戏

  • 英雄联盟的寻路算法要怎么设计:动态规划/深搜/广搜

  • 如何优化:

    • 缓存存储经常寻路的路径,下次寻路直接查出

    • 动态规划计算,使用多个线程并行计算结果,最后选出最短的那一条路径

  • 反问

总监面(挂,此面是感觉最冤大头的,问的问题奇奇怪怪,唉):

  • C 语言:一个mian函数,执行的第一行就出错了(在中括号的那一行,还没执行响应的代码就出错了,段错误)是什么原因导致的。如何处理

  • socket():客户端每次发1024字节,循环发十次,服务端socket() read 的时候读多少个字节

  • 一致性哈希:一致性哈希的原理,好处:答上来了;为什么要使用一致性哈希:懵,语塞

  • 微服务的认识与理解

  • 为什么不能单体应用而要使用微服务

  • 平时如何学习的?

  • 讲讲对 MVC 这个框架的理解

  • 一道智力题:A,B两个人分别持有一样的牌:3/4/5/对6/对7/对8。单牌只能吃单牌,对牌只能吃对牌,不能拆牌下。A先下牌,问一定能赢吗?

————————————

华为:

一面:

  • 自我介绍

  • 项目相关

    • 线程安全实现方式

    • Redis 分布式锁如何实现

    • Nginx负载均衡原理、所选负载策略

    • Nginx能否感知消息队列宕机

    • 如果服务器宕机怎办,一致性哈希可以进行处理

    • 一致性哈希的优点,能解决什么问题。机器数量高度可拓展,宕机的时候数据迁移量少

    • 如果让你设计哈希算法你会怎么设计。答:取模;反问:那机器数量改变怎么办,模数不是又得改了。其实是因为没答到点。其实得答按机器数量取模

  • 思考题:

    • 微博几十亿条数据,要实时展示出评论前10条的数据,怎么快速查询

    • 哈希再哈希,哈希到对应机器上面时使用键值对进行获取

    • 那修改的时候呢?如何提高效率

  • 算法题:

    • O(n)时间复杂度找出数组中的TopK元素:使用快速排序的思想进行查找,排序一部分数据就行,不需要排序全部

二面:

  • 自我介绍

  • Java并发相关

    • 线程安全实现方式

    • volatile 实现原理

    • synchronized 实现原理/比起可重入锁的区别

    • 线程池的实现方式

    • 线程池的核心参数如何设计

  • 计算机网络相关知识:TCP、UDP等

  • 操作系统相关:

    • 虚拟内存

    • 如何查看占用CPU较多的原因

  • JVM 部分:

    • 分代情况

    • Java的内存管理策略

    • 年轻代中的划分情况/比例

    • 年轻代怎样会升级到老年代/如何设置升级年龄

    • 复制回收算法是怎样的

  • 算法题:

    • 两个排序好的数组,找出其中位数,要求时间复杂度O(m或n):可以使用折半查找的方法进行查询

三面:

  • 自我介绍

  • 说说实习的时候做了什么

  • 说说工作室的经历

  • 对华为的认识,为什么想加入

  • 对自己的评价

  • 技术方面的追求

————————————————

腾讯微保:

一面:

  • 自我介绍

  • 项目介绍

  • Java基础,计网基础,操作系统基础

  • 算法题:

    • 股票买如卖出各一次,求利益最大的方案

二面:

  • 自我介绍

  • 项目介绍

  • 对保险行业的了解

  • 反问

——————————————————

Bigo:

一面:

  • 自我介绍

  • Java并发相关

    • 线程安全实现方式

    • volatile 实现原理

    • synchronized 实现原理/比起可重入锁的区别

    • 线程池的实现方式

    • 线程池的核心参数如何设计

    • ThreadLocal 的底层实现与使用方法

  • 数据库相关:Mysql

    • Mysql 索引实现原理

    • InnoDB/MyISAM 之间的区别:从索引实现,数据存放位置,适用场景的方面讲

    • SELECT COUNT(*) 哪一个引擎更快,为什么

    • a,b联合索引,查询条件为a/为b/为a AND b 走不走索引

    • 如何查看慢查询出现的情况: 打开慢查询日志进行查看

    • 如何查看某条慢查询语句执行时占用的CPU/内存/耗时等情况: 这个没了解过

  • 计算机网络相关:

    • TIME_WAIT/CLOSE_WAIT 如何解决

  • 操作系统相关:

    • 虚拟内存

    • 如何查看占用CPU较多的原因

      • 查看线程pid

      • 接下去就不会了,只会如何排查占用内存较多的方法

  • 项目相关:

    • 项目介绍

    • Redis 分布式锁如何实现

    • Redis 缓存存放什么数据/使用什么数据格式存储

    • Redis 是单机部署的吗

    • 测试情况如何

  • JVM 部分:

    • 分代情况

    • 垃圾回收策略

    • 年轻代中的划分情况/比例

    • 年轻代怎样会升级到老年代/如何设置升级年龄

    • 复制回收算法是怎样的

二面:

  • 自我介绍

  • 手撕字符串转数字

  • 手撕判断矩阵是否是数独

  • TCP 三次握手,各个状态与传递参数

  • JVM 内存模型(运行时内存)

  • 介绍一下几种 GC 收集器

  • CMS 的具体垃圾收集策略是怎样的

  • 死锁出现的条件

  • Java 加锁的方法:synchronized 、AQS 、CAS

  • ABA 是什么问题,如何解决

  • 有哪几种线程池

  • JVM 参数调优如何设置

三面:

  • 自我介绍

  • 说说实习的时候做了什么

  • 分布式锁怎么实现

  • Redis 事务了解吗,怎么处理

  • RPC 的实现原理

  • Zookeeper 的 Watch 机制了解吗

  • Dubbo 的序列化框架

  • 服务注册发现怎么做的

  • Redis sortSet 底层实现是如何

  • sortSet 的查询,写入和删除时间复杂度分别是多少

  • AOP 如何实现的

  • GIT 如何进行版本回退

  • 大数据有没有了解
  • 回去要学习什么?
————————————————————————————————————

整个秋招下来,有过辛酸和不甘、无奈和失望,但是菜鸡也同样可以通过后天的努力来弥补自己的菜的。庆幸自己最终还是坚持了下来,好运的光顾,让自己最终拿到了满意的offer。
如果算上春招,自己其实已经从去年12月就开始准备了,但是一直没有找到好的机会。那其中有第一次面阿里云的无经验之尴尬,有支付宝面完所有技术面最后没HC的无奈,还有腾讯被捞4次两次挂在2面的悲惨经历,就不一一叙述了。
感谢实验室和自己一起复习备战的小伙伴,感谢实习的时候互相鼓励的队友、室友,感谢实验室指导老师,感谢蒸蒸日上的学校。该上岸的已经上岸了,还没上岸的也抓紧了,我们在等着你!

——————谨以此,记录自己春秋招的求职经历。愿归来,仍是少年~Fighting
#面经##字节跳动##腾讯##华为##BIGO##Java工程师##校招#
全部评论
广工男人的骄傲!!!牛逼(破音~~~)
1 回复 分享
发布于 2019-10-27 19:19
大兄弟不来微保了吗😊
1 回复 分享
发布于 2019-10-27 19:37
楼主最后去哪里了?要知道工作不仅仅有bat,平台是平台,自己是自己,没有太大联系的~只要是找到满意的工作就是最棒的!
点赞 回复 分享
发布于 2019-10-26 19:39
kai哥太强了
点赞 回复 分享
发布于 2019-10-26 20:30
本科生那很不错了
点赞 回复 分享
发布于 2019-10-31 16:51
老哥我也是广工的,也准备去bigo,加个好友?
点赞 回复 分享
发布于 2020-03-30 00:12

相关推荐

不愿透露姓名的神秘牛友
10-31 12:40
美团 后端 25k*15.5 硕士985
点赞 评论 收藏
分享
评论
20
120
分享
牛客网
牛客企业服务