关于我
我毕业于某普通师范学院计算机相关专业,有两年多的工作经验了吧。技术栈主要有vue,react-native,以后可能会到angular(新公司在用),react web。首先我不是大佬,我只是爱学习,爱钻研技术。 目前坐标北京
工作经历
第一家:
在北京的第一家公司是很传统的服务端渲染为主,前端切图就ojbk了,我当时属于刚接触前端,要说我什么时候最早接触前端呢,那就是大二时候学的asp.net,那时候我们也在做网站,table布局,拖拖拉拉就成了,那时候对前端没什么概念,也是毕业后才有了概念,这家公司切了几个月的图我就觉得没意思了,当然我不能跳槽,出去就是找死,那时候我记得很清楚我搜索了前端框架,记得搜出了vue,因为大家评论都说vue简单,于是我就开始学习,后来没学几天我就发现vue真正用起来是要学习webpack,因为有个脚手架,当时对那个脚手架还是很佩服的,很新鲜,于是我暂时搁置了学习vue,我打开了webpack的学习之路,学了一段时间webpack我发现我在公司没法真正的练手啊,因为公司都是jq+html+css,哪里有模块化,前后端都不分离,该怎么办,于是gulp闪亮登场,那时候的gulp我借助各种插件可以做很多事情我不看文档回忆一下哈,它大概能做这些事:
- 压缩各种资源,HTML,图片,css,js
- 给资源增加版本号,控制缓存
- 借助某个插件实现html的模板化
- 跟webpack结合,这个我真的玩过,有个插件可以让gulp调用webpack
- 自动生成雪碧图,css也生成好
- ...其他 gulp借助插件很强大的,当时我把它拿在公司的页面山做了实验,也算没有白学。 在那个公司的后期,我把webpack了解的差不多了,就开始学习vue了,最终想在公司项目使用,但是那时候感觉这个公司对前端不是很重视,我考虑了很久,就辞职了,呆了七个多月吧。
辞职后我没有很快的找工作,我在家学习vue,那时候搞了一套vue音乐播放器视频看,感谢黄老师的制作,我记得我没有全部看完,因为看细节实在太慢了,我只看了前期的视频,说实话我已经忘记里面具体怎么实现,但是黄老师在里面提到的一些代码规范,vue开发时的规范,一些常见约定,目录结构设置等等我记得很清楚。
第二家:
这家公司搞区块链相关的,初创公司,我去的时候就我一个前端,两个后台,ceo兼职python,底层干活的就后台跟我,在那里我接触了微信公众号,技术上因为时间紧迫,我们那个后台也是传统型,没玩过前后端分离,我说我想用vue,他当时第一次听到vue,我给他演示了一遍vue,他感觉不可思议,前端还能玩路由?我告诉他就是div的隐藏显示,没有刷新页面。我没跟他说更多,因为我也是新手哈哈。我在那里还是写了模板,后缀不是jsp,是ftl,但是数据都是我用ajax搞过来的,在那里我接触了h5适配,我选择的是淘宝的适配方法。不幸的是,呆了一个月就倒闭了,不赖公司运营,主要是国家监管虚拟货币,不让私自发行虚拟货币了。在这里技术上基本没什么成长,哦对了,想起来,我在那里厚着脸皮问了下后台cookie和session的区别,以及后台怎么玩session的,在那之前我都是通过查资料,看文章了解,没有亲自问过别人,那次问过之后总算对session机制有了了解。
第三家
这家公司应该是我技术突飞猛进的时候。我们搞医疗相关的。相同的是我去的时候公司就我一个前端,前后端未分离。来了后我就在想一定要让公司前后端分离了,好在公司的老板兼技术总监是个跟随潮流的人,他认可前后端分离,在这里我开始深入vue,总结下我学习vue的方法:
- 文档随时打开看,不记得了就打开看
- 敢于尝试vue的各种魔法,比如自定义指令,自己用指令做正则校验
- 了解vue的原理,我在掘金看过很多遍讲vue原理的文章,也跟着学过自己实现一遍简单的vue,知道了原理最大的好处就是一些报错你立马能猜出来为什么。
- 报错了一定要清醒的阅读报错提示,有需要的话打断点调试vue源码
- 看vue源码,vue源码我们多多少少要看的,比如我们可以写个最简单的页面,打断点一步步看下vue怎么走的。
- 一定要懂发布订阅模式,这是vue的重中之重.
- 看elementUI的源码,着重看一些弹窗类,按钮类这些常见的公共组件的实现,我在看单选按钮组件的时候结受益匪浅啊。
在这家公司呆的中期,公司要做pad移动端,那时候公司没安卓,我就用dcloud出品的混合打包技术来开发,但是不久,公司来了安卓,我们就配合起来搞了,那段时间我知道了安卓跟h5沟通是怎么一回事,也自己搞了jssdk.这段时间我已经深度使用vue了,不仅对vue研究比较多,对脚手架也研究了一些,对webpack有了更深的了解,那段时间我做的最多的事就是打断点走vue的流程,就这样一点点深入vue。说了这么多你们可能会觉得我一直在学习框架啊,其实不是我并没有忘记学习其他前端技术,我都通过学习把他们用在了项目上。我一直有在关注react哈哈。
说到vue不得不提提react,但是我不区分谁好谁坏啊,反正我学会他们随意切换就可以了。其实通过了解react我了解了很多新的概念比如容器组件,展示组件,函数式组件。我也再掘金看了大量跟react相关的文章,包括原理性和是用法相关的,这些也为我后来使用react-native奠定了基础。
我在这个公司已经不满足于用vue做做页面了,刚好公司要做移动端,而且老板也觉得webview性能不好,有些会卡顿,我就斗胆开始提议用react-native,我自己开始了大量的学习,在学习react-native的期间我也发现github 的issues是个好地方,因为很多报错在issues都能找到解决方法,我也养成了有什么自己感觉不是自己的问题的时候主动提issues,主动跟开发者用英文交流。这个阶段,深深的感觉到英语是多么重要!用react-native遇到的坑比较多,但是都慢慢踩过了,自己经历了才知道到底怎么样,同时经验都是自己的,至于rn的性能问题,我很期待他们的重构,这次重构应该会解决大部分问题,因为同步渲染来了。说到重构,我也很期待啊vue3的重构,因为终于可以用ts好好的写vue了。
说到ts,我之前是拒绝的,直到我接触rn后看到我们安卓同事在写一些原生模块时IDE对java的智能提示时那回车敲的啪啪响,那一刻我知道,IDE这么聪明就是因为有了类型,有了接口这些东西,IDE不再是靠自己瞎猜,因为我们已经在代码明确了。另外还有就是随着我们前端人数的增加,我已经不是我一个人在战斗了,有时候我要看同事的代码,用同事写的组件,或者公共函数时,他如果没写注释,我真的需要看好久,而且还要小心翼翼的用,此时更加坚定了我要用有类型的js,我尝试过flow,但是放弃了,因为真的不好用,我就抱着试一试的态度用起了ts,对着文档看了几天就直接用了,恩,真香。
在这家公司,我也尝试自己写文章了,因为第一我平时在百度或者google搜索问题和资料时机会多事别人写的总结文章,有时候他们的经验真的能帮我解决问题,我当时心里是很感激的。第二自己写文章也算是一个工作总结,经验总结,另外写文章之前你肯定是研究了一番,不然你写不出来,这样也会促进你多学习多研究。
面试
在去年的十月份我有过几次面试,那时候其实并没有真的想跳槽,只是想看一下现在什么行情,以及自己的水平,会不会跟不上需求了,很幸运,当时拿到了一个offer,给的还挺高,不过我还是拒绝了,因为我当时并不是真的想跳槽,而且我当时还想再接着学点东西。到了去年年底以及今年年初我又开始投简历了,这次是真的想跳槽了,面试问的问题没有人深入问过我原理的,基本都是js的那些东西,另外es6问的较多,基本上我都能回答上来,也很幸运拿到了两个offer,有一个我对他们做的行业不太感兴趣就拒了,还有一个福利不太好,公积金交的太少了,我提了加工资也没同意,而且加班较多,我也拒了,时间来到年后,在年后我请了一天假,那天一天面了4家,以为距离不远,都在北京海淀区,拿到了3个offer,都是教育行业,因为我对这个行业还挺感兴趣,所以就投的比较多。噢不对,应该一共是4个吧,最后一个有点插曲。
在我拿到3个offer后我就确定了一家我想去的,并且提了离职,我不是裸辞,结果老板说一个月内让你走,不确定是什么时候,这下慌了,新公司那里催着赶紧入职,最多等一个星期左右,其实这也不怪我们领导,因为年后才刚过,他们还没有开始招人呢,并且我在公司做的项目是重点项目,我走了暂时找不到很合适的人后续维护,我也理解,好在我在公司又呆了一个星期后领导说我可以走了,在这期间一个朋友想内推我,我说我这里已经定了,但是我不确定会不会因为我们领导不让我走而新公司那边不再等了我就凉了,朋友说那就来面试试试啊,两手准备,我一想,行吧去试试。
这家恰巧也是做教育的,很有潜力的公司,即将C轮融资,而且技术氛围很好很开放,鼓励开发写文章分享,说实话,是我很想去的公司,最后面试通过了给的薪资也是比我提的还高,看出来是很想让我过去,但是我心里真的很抱歉,因为之前确定的那家公司已经等了我快一周了,而且那家新公司比较大,名气也大点,我也不好意思突然变卦,人讲信用有时候比钱更重要的,对吧,我就婉拒了,如果我没之前的offer我一定会去这家公司的。
我投的简历都是在boss直聘投的,貌似拉钩已死?我在拉钩投了几个几乎没人应。我从来没投过大厂的,哈哈,有自知之明。
总结
这两年多来我觉得技术上已经到了一个层次,这并不是我自恋哈,因为我是踏踏实实感觉到我真的学到了知识,另外这两年多我呆的基本都是小公司,所以我觉得现在是时候去大公司闯一闯了。希望接下来的两年我会在某个领域有深入的研究。不求做到面面俱到,只求做到精通一行。