前言
写下这篇文章的时候我刚刚以实习生的身份入职 滴滴出行-业务平台技术部 3天. 虽然对这里依然不太熟悉,需要时间去熟悉环境,同事.身边都是比我高好几个level的大佬,感到压力山大.
仅以此篇记录回顾下我这个二本渣渣大学前三年生活,也希望自己谨记勿骄傲,勿戒躁,踏实学习.
这篇文章 属于想到哪写到哪, 有些不太符合语言逻辑的地方还请见谅!
大一
我本不是一个聪明的人,不然我也不会来这个学校. 都是因果关系吧.高中不努力,大学没选择.可能唯一做对的是选择了一个自己喜欢的专业.
先说下自己专业吧 某二本软件工程(云计算方向), 听着蛮高大上云计算. but都是围绕着云计算运维的 基本上Linux – 服务器搭建 – 路由 – 云计算基础概念性 -云平台/openstack搭建为主体. c/c++ – java – 网络安全 – Linux网络编程 – hadoop 基础部分. 所以大部分人不用培训可以去做一份运维的工作,还有一小部门做了开发和安全. 我就是被开发拐走.
其实刚来大学的时候自己很想学习网络安全的东西(还记得自己高考报志愿的时候留下了一张习近平总书记讲加快网络安全建设的报纸),学校刚好有一个网络安全的实验室. 刚入学时候其实就有一种渴望进去的冲动.
但事情总是那么的波折吧.带我们的助教是ACM实验室的学长学姐,也是因为这层关系,算是心有不甘的在大一上学期快结束进入了ACM实验室. 在那度过的自己的大一,还拿到了自己人生第一张省级荣誉.
大二
大二也一直在ACM实验室,还顺便做了实验室oj的维护者,这也让我比同班学生更早接触到linux的各种操作和服务搭建. 同时也算是个实验室核心成员吧. 虽然当时自己一直没什么归属感. 只是带有目的性(比赛奖状)的在这撑着. 所以自己对算法的学习状态一直不高,但整体来说不算太差,自己偷偷摸摸的自己学一下爬虫,还搭建了自己的个人博客. 所以我在拿到本学年最后一个省级荣誉后就跳到另一个团队了.
其实真正开始自主学习 大概就是大二下学期5月份之后进入青云双创工作室之后了.
自己从5月到6月的2个月围绕着 html/css/js — javaweb的学习路线开始学习.
有幸7月在河南青云信息技术有限公司实习.慢慢在接触到小型企业的开发流程,开发框架. 虽然当时自己javaweb还没学完, 一边学着公司框架怎么使用,一遍自己偷偷补javaweb的东西, 也算是很充实.
大三
其实大三刚开始 也是有跳到网络安全的想法的, 但当自己慢慢开始接触这方面的东西,自我感觉这行有点浮躁,起码渗透的圈子些许浮躁(个人感觉). 也就是从这时候开始,确定了自己开发的方向.
大三上学期 在python和java上投入了很多精力, java慢慢开始从javaweb到javaee上过渡. python学了更多的爬虫库和其他好玩的东西. 跟着课程学了路由,安全,服务器负载均衡~高可用 相关知识
在10月份时候跟着一个大佬做了一个微信小程序的外包. 主要做小程序前端的部门. 照着给好的原型图 一个个的设计,微信小程序这块也是边做边学,做了一个月才把前端的东西做完. 感觉也算收获颇丰. 也是第一次用restful风格的接口. 顺手在后面 看VUE官方文档看了一些VUE的知识点.
大三下学期刚开始开始了第一波 春招试水. 投了阿里sdn和腾讯业务运维. 死的比较惨.都是一面挂了. 也是经历了半年学习后第一次面临一个比较大的挫折. 意识到自己基础知识的薄弱和需要做一个大型的项目来支撑自己技术点, 大概花了2个月时间用课余时间学习并完成了一个springcloud的分布式商城项目(我在面试时的项目面基本都是围绕这个来的) .中间可能空余不到2周时间用ThinkPhp开发了一个项目 参加了高校微信小程序大赛(随便写的还能拿到大区三等奖,hahahha)
自己大数据也块也算很认真的在学了,虽然自己hive到现在都不怎么会写. 在最后实训时候做了一个可以吹逼的东西,也算是对这快比较满足.
求职
从2019.7.3期末考完试后开始了自己找实习的历程, 从复习自己项目的知识点(整体架构,jwt,redis,mq,分布式事务) 到java的各种知识点(集合源码,spring组件原理,jvm,类加载机制,syn-reentrenlck锁,aqs,阻塞队列,线程池,网络,操作系统,基础算法等)
一直准备到9号 开始投了第一份简历 然而心态炸裂.投了各种大厂完全没有面试机会,很多都卡学历, 天猫给了机会可惜我简历春招被锁了到7月都没解开,没办法发起面试,后面4天心态搞炸了.什么都看不下去,有点自暴自弃.我就回家吃海底捞去了. 正吃着滴滴给我打电话约了面试 当初刚好回家玩,就推到2天后再面试. 这也是目前为止唯一一家发起面试的公司,非常感谢滴滴出行给面试机会.
面试
从7月17号到7月19号三天 经历了三轮面试. 难度从强到弱
一面
一面是整个面试过程最难的一面
1.你的项目中最难的点是什么
答: 1. 1订单模块 从购物车 -> 支付完成的整个流程(贯穿各种mq,redis,本地缓存,服务间调用等各技术点展开逐一细问)
1.2用户登录和认证模块 , jwt认证流程 如何签发,在分布式情况如何处理存储 rsa+des在登录模块的作用 还给了个场景(忘记了)
2.看你写过大数据项目,来几道sql题吧
前两个都是 比较基础的题目 一个 group和having组合 一个group和where组合
剩下的有个大数据的关键词 没见过也不会
3.问了几道算法题
1.链表平分,最多相差一个节点 只能扫描一次
2.有序列表找出指定数字出现在列表的第一个位置
3动态规划(我说状态转移方程推不出来,就没问)
二面
二面基本都是java基础
- jvm模型; 堆上有哪几个区; 为什么8:1:1
- 多线程相关场景: 多个任务并行执行 另一个任务在多个任务执行完成之后在执行,给出可以方案. 我说了三种 1sleep 2countdownlatch 3线程池. 口述了方法怎么写
- 貌似还有个问题 ,忘了
三面
三面划水面, 面试官说技术都聊差不多了 这一面就不问了
1给了一个自助零售机器场景题, 问有哪些模块
2高考成绩, 大学成绩
3抗压能力
4学习心态, 如何学习. 学习新技术能力(转方向)
总结
1.积累能力技术,互联网前中期肯定是靠技术吃饭的. 不断积累技术能力.多了解互联网企业的技术新技术, 不断拓展自己的知识面, 专攻的方向要尽力深入要源码层次.
2.hr简历筛选套路 一般都是先看学历和实习经历. 985,211本身就优势. 没有名校加成就得让自己技术能力比他们高一些 才能持平差距. 我就是低学历想要通过大厂实习翻身的.
3.投简历提前准备, 不要盲目应聘.我春招投的阿里 到7月份简历还被锁着(听说还有评价记录,一面挂,肯定不太好) .大厂失败一次短期内对自己会有不好的影响. 一定要先做好准备.