跳槽转Java开发,五面B站(哔哩哔哩),25k*15offer,还原我的大厂面经
Posted Java_宇宁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跳槽转Java开发,五面B站(哔哩哔哩),25k*15offer,还原我的大厂面经相关的知识,希望对你有一定的参考价值。
背景
这是一位朋友的经历,和他聊了下,就分享给大家。
大多数情况下,程序员的个人技能成长速度,远远大于公司规模或业务的成长速度。所以,跳槽成为了这个行业里最常见的一个词汇。
实际上,跳槽的目的无非是为了涨薪或是职业发展,他也不例外。普通本科毕业后,进了一家互联网公司,这几年里不断在积累经验,最终选择跳到B站,涨薪了30%,下面分享一下面经和一些心得建议。
细节就不多说了,现在结局是好的,也希望他能接着鲜衣怒马,不负韶华,后面就分享一下他的面经吧,希望大家都能有所收获。
面经
一面
1、自我介绍(工作情况、项目概况、用哪些技术、自己负责什么、擅长什么、优势是什么)
2、介绍下你做的项目及你在工作中的定位
3、离职的原因
4、未来的规划是什么
5、结婚没、住哪,现在的公司在哪
二面(技术)
- 设计表结构的时候要考虑哪些问题
- 关系型数据库和非关系型数据库有什么区别,你们现在用的是哪个数据库,为什么
- 数据库查询优化了解吗,说说怎么优化(索引相关)
- 说说索引(聚集索引、非聚集索引,联合索引、最左匹配原则、非聚集索引要回表查询)
- 如果用非聚集索引怎样可以不用回表呢(select id from a where name=“111”)
- 为什么使用索引后查询效率高呢
- 有用过redis吗,你项目中使用场景是什么?说说你对redis的理解
- HashMap为什么不是线程安全的?怎么让HashMap变得线程安全?两者的区别是什么?
- jdk1.8对ConcurrentHashMap做了哪些优化?为什么这样优化?
- redis主从机制了解么?怎么实现的?
- 有过GC调优的经历么?(有点虚,答得不是很好)
- List,Map,Set三个接口存取元素时,各有什么特点?
- TreeMap和TreeSet在排序时如何比较元素?Collection工具类中的sort()方法如何比较元素?
- Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行 它们有什么区别?
- 线程的sleep()方法和yield()方法有什么区别?
- 当一个线程进入一个对象的synchronized方法A之后 其他线程是否可进入此对象的synchronized方法b?
- 请说出与线程同步以及线程调度相关的方法
- synchroized关键字的用法?
- 启动一个线程是调用run()还是start()方法?
- java项目做过了多久时间,能自己独立搭一个java项目吗
- 你有什么想问的吗(问了开发语言、项目概况)
三面(项目)
1、介绍下你现在的研发团队的情况(产品、运维、前端开发、后端开发、测试)
2、上家公司的研发部门有哪些组?大致的工作内容是什么?一个组多少人?你在什么组?负责什么?
3、离开上家公司后,在看什么书?学习什么技术?(回答在研究Dubbo和mysql,还看了一些底层实现的东西)
4、说说你从0到1的一个项目,你在项目中承担什么角色
5、如果让你重新做一次你举得可以改进的项目,你觉得有哪些点可以优化的
6、一个数组如果让你找到最大数,你会怎么弄?
7、如果我们现在要做一个库存盘点的系统,你怎么设计表结构,设计哪些表
8、公司采购一批电脑,新员工入职领电脑后本人扫码确认领取,这块代码你如何实现(后台设置领取人信息、微信扫码确认,获取微信相关信息和后台设置的人员信息比较,如果一致则确认本人已领取)
9、截止目前,你自己感觉面试表现怎么样?
10、你有什么想问的吗(问了团队的人员情况)
四面(部门主管)
1、说说你们公司的人员结构和你的位置及承担的角色
2、项目中遇到的难点,如何解决,以后怎么避免
3、在项目中如何对接(对接前端,第三方,其他后端应用)
4、平时怎么跟同事沟通交流
5、以后的规划
6、离职的原因
7、现在的薪资多少
8、你有什么想问的
五面(HR)
1、说说你最值得说的项目,场景是什么,周期多久
2、后面的规划是什么
3、你和那些晋升特别快的人比起来有哪些不同(学习能力的不同,但是勤能补拙)
4、期望薪资是多少?近一年的工资流水发我下
最终历时一个多月2021.6.28我拿到了B站的offer;
虽然卡我薪资了,没达到我预期,但是也可以接受吧,因为我去年年底晋升加薪了,说我才涨薪半年,原来是14薪,现在是15,总包涨幅30%左右,试用期6个月,每天15餐补,8点半以后有加班餐,转正后每个月多1000补贴。
面试准备
1、前面找一些小公司面试练练手,找找感觉,总结统计下不会的问题,然后再去找相关资料学习相关知识点,我这段时间大概面试有近10加公司吧,一共拿了3家offer,前面很多都没过,但是为后面拿更好的offer做准备。
2、我是如何准备的呢
①首先就是简历,我是参考了里面的模板修改了,然后在脉脉里找了字节的内推人员,他再帮我简历的一些问题给出了建议
②投简历,我用的是Boss直聘,大家也可以用智联招聘、脉脉内推等
③学习知识点,关注了一些技术博主,也可以在里面搜到相关的知识点,如果找视频我一般在软件哔哩哔哩里找相关视频学习;算法一般在力扣、牛客里刷题,CSDN、牛客也可以找到一些面经参考;
前面我都是按部就班的准备,后面B站一面过了准备二面的时候,我特意告诉HR我要准备一个星期后再二面,这一个星期我的节奏是,早上起来在地铁上找一篇系统的知识点视频看。
面试准备的知识点:
1、设计模式:单例、工厂等,最好能手写单例
2、Redis、Mongdb、Mysql;结构、用户,索引,sql优化、数据如何持久化、备份等
3、RabbitMQ队列,模式,用法
4、线程、进程、线程池
5、http请求,三次握手、四次挥手的过程,https和http的区别,MVC请求过程,路由解析
6、GC,垃圾回收机制的几种算法
7、二叉树、平衡二叉树、B树、B+树、红黑树
8、多线程、并发,锁,锁升级过程
9、事务、隔离级别等
因为我是做.Net转java的,没有准备java相关的知识点,不过我也看了一些,JDK1.7到1.8
数据结构多了红黑树,这些一些参数阈值、系数,链表到红黑树的相互转换,头插改尾插等;
关于java方面的技术准备
现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
对于一些不知道学习什么,没有一个系统路线的程序员,这里给大家提供一个大概的思路:
JAVA入门阶段
- 环境搭建
- 语法学习,基础语法以及面向对象知识
- 工具学习,如目前市场上常用的IntelliJ IDEA
- Java Web网页开发学习,这里涉及html、CSS、javascript相关知识学习
JAVA初级阶段
- 数据库学习,这里关系型数据库推荐MySql、非关系型数据库推荐MongoDB
- 熟练掌握JAVA Web开发技能
- 学习常用框架使用,如SSM、SpringBoot
- 学习常用的版本控制工具的使用,如Git和SVN
JAVA中级阶段
- 熟练使用Java常用框架并用于实际工作开发
- 学习Java服务器知识
- 学习并使用Java的设计模式、分布式架构、微服务、负载均衡、消息队列等等
Java 学习资料,包含了 Java 工程师必学的四大开源框架–MyBatis、Spring、Spring MVC、Spring Boot,视频资料、大厂面试题等,想要的同学可以文末扫码免费领取。👇👇👇
想要的朋友点击这里免费领取!【2021年一线大厂面试真题👇】
程序员必备书单
《Java核心知识点合集(283页)》
内容涵盖:Java基础、JVM、高并发、多线程、分布式、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、数据库、云计算等
《Java中高级核心知识点合集(524页)》
《Java高级架构知识点整理》
查看获取地址【点击查看详情(请备注CSDN,记得一键三连提高通过率!】
架构设计
《Java高并发核心编程》734页
《数据结构和算法》
《1000道 互联网Java工程师面试题 (485页)》
获取地址
最后祝大家都能找到自己满意的工作。
以上是关于跳槽转Java开发,五面B站(哔哩哔哩),25k*15offer,还原我的大厂面经的主要内容,如果未能解决你的问题,请参考以下文章