不用多说,相信你们都有一个共识:不管什么行业,最牛逼的人确定是站在金字塔端的人。因此,想作一个牛逼的程序员,那么就要让本身站的更高,成为技术大牛并非一朝一夕的事情,须要时间的沉淀和技术的积累。程序员
关于这一点,在我当时确立好Java方向时,就已经开始梳理本身的成长路线了,包括技术要怎么系统地去学习,都列得很是详细。面试
4面拿下了字节跳动offer
大三下学期找了一家互联网公司实习,大四的时候就已经在开始规划毕业后的打算了,关于校招也在着手准备中,固然目标要放高一些,因此阿里、腾讯这些天然要尝试。最终的结果去了字节跳动,这个面试过程是比较险的,由于个人目标是阿里,因此框架类的东西准备得多一点,算法基本上没太看,却没想到还真是走了“狗屎运”。redis
字节跳动一面:算法
- 实习项目就聊了差很少30分钟
- 问了MySQL的索引
- redis的string类型
- 为何使用RabbitMQ?
- RabbitMQ有哪些部件?如何保证准确性跟一致性?
- hashcode和equals?
- 动态代理
- 快排
- 无序数组计算每一个位置大于前面的多少个数字(归并排序)
字节跳动二面:mongodb
- 问项目
- 如何进行JVM调优?
- cpu满了重启系统后好了,可是一会又满了,如何具体解决?
- 问了如何设置秒杀系统?
- 如何设置银行系统,会碰到什么问题?
- 为何项目中使用了mongodb?
- 一样两个算法:
一个文本距离计算(用动态规划解决)数组
一个是无序数组能够存储多少雨水问题框架
字节跳动三面:学习
- 设计SQL和表
- JVM结构
- 平时怎么学习的?
- 看了哪些书?
- 如何设置一个抢红包的功能?
- 以及本身项目中碰到了哪些问题?如何解决的?
- 项目的技术选型以及为何要选择它?
- 而后最手写一个算法?
- 实现对hashmap加强,加上过时自动删除还有淘汰策略实现最短过时时间删除?
HR面:spa
- 聊个人实习经历
- 问了一下技术规划
- 还投了哪些公司?
- 对字节跳动了解多少?用过字节的什么产品?如何评价?
- 为何没有考研?
- 说说你在项目中最大的收获
面试题答案设计
幸运只给有准备的人,“狗屎运”并非真狗屎
虽然自嘲本身走了狗屎运,可是我永远都明白一个道理:幸运永远只会留给有准备的人,机会来了,你得有能力才能抓住。
所以,在面试这些一线互联网公司以前,我早就开始作准备工做了,包括学习新的技术,提高本身的技术水平,甚至刷面试题,看面试帖,这些都对个人面试起到了极大的帮助,关于面试的准备,我主要是作了如下几个方面:
如下内容涉及到不少网盘资料(包括视频、笔记、技术文献以及面试题库),有须要的一键三连后“加我VX小助理”便可免费获取到!
(1)经过视频来系统性地学习
大学学得内容广,可是泛,不够系统不够深刻,因此只可以经过业余时间来“补课”。个人方式是本身搜罗整理了一套Java零基础的学习视频,从零开始学起,所有视频看完以后,基本上有一个很是清晰的思路和框架结构了。
(2)阅读前辈的一些技术笔记
这些笔记是找学长和论坛上的技术牛讨来了,翻阅了很多,确实对不少技术点的认识有所帮助,学习到了很多的思路。
(3)刷题备战,直通大厂
刷题是为了了解如今的大厂面试时会问到什么,另外也可以提高本身对技术的记忆点,使得在面试时更有底气。实际上,刷题时咱们灵活一点,学会触类旁通,在真正面试时仍是可以起到必定做用的。
总结
爱默生说:一个朝着本身目标前进的人,整个世界都给他让路。因此,做为二十岁的你,不惑很简单,多思考多规划,将来会更清晰,朝着本身的目标一步一步走下去,尽早地取得成功。毕竟,年龄在程序员界里,也是一种优点。
若是,你没有靠山,就让本身成为本身最稳的靠山吧!
关于这一点,在我当时确立好Java方向时,就已经开始梳理本身的成长路线了,包括技术要怎么系统地去学习,都列得很是详细。