一个大四前端实习生的2018年总结

这是2018年的最后一个小时,此刻我正在改着我的毕业设计开题报告,坐在电脑前忽然有点感慨,于是打算做个年终总结,顺便把今年所学所想做个梳理和回顾。

年初

回想今年,
似乎走了很多路,
尝试了很多东西,
在年初二月份左右选择了考研,
尝试着想去读华南师范大学的软件工程,
但是在很多原因的影响下,在七月初放弃了这个目标,
终是选择走上了前端的道路。
虽然似乎前半年的努力似乎是化作乌有,
但是那段时间的专注可能是我大学三年以来绝无仅有,
所以似乎也不算是浪费。

年中

在七月底决定放弃考研后找到了一份js软件工程师的工作,
前端技术栈是基于VUE的nuxt.js,
后端是Egg.js。
两个月的工作时间内负责的都是前端的内容,包括页面,debugger和旧项目的维护。
但是因为公司需要经常出差并且离家远,
每天早上需要六点钟起床才能保证不迟到,
并且还要挤那条四五趟才能挤得上去的广州地铁三号线,
于是乎在九月底的时候面试了现在的公司并顺利收到了offer。

年底

目前在现在的公司中写react,
感觉负责的内容是我感兴趣和喜欢的,
环境和大佬都很nice。
说实话今年折腾得挺厉害的,
在决定放弃考研之后,重新拾起代码,
去找了几份VUE的项目去模仿和学习,
买了阿里云的学生服务器,
搭建了自己的博客  
写了一些基础算法的JS可视化的实现,
写了一个网页版的个人简历,学会了挺多东西。
现在回想起刚开始面试的时候,
没日没夜地撸文档,
通常是下午收到了面试通知,
熬夜地去读文档,看项目,刷面试题,
第二天去面试完回到家大概是下午四五点左右,
整个人一会去直接滩在床上一觉睡到第二天的一两点,
那段时间感觉自己真的像是快要死了一样。
这段时间一共面试了大概六七家公司
(如果不包括3家培训机构和2家外包公司,
培训机构的电话其实很好识别,
面试的时候如果你能带着面试官的节奏走,
并且他们聊到和涉及的技术都是大概是十年前的技术的话,
例如还在谈SSH、jsp之类的话十有八九都是培训机构了),

收到了四个offer,也算是不枉努力。

下面是今年学习和复习到的技术内容以及碰到的一些坑的总结

基础内容

Html部分

1.标签基础
2.HTML5的新特性
3.HTML事件
4.Canvas (不太熟悉)
5.MathML
6.Html表单
7.Html的语义化
8.Web SQL 数据库,使用 SQL 操作客户端数据库的 APIs。
9.Web Workers
10.meta 标签
11.Get和Post的差别
12.HTTP 状态消息
13.Html中块注释

CSS部分

1.CSS基础内容
2.CSS 2D 3D
3.CSS 动画
4.纯CSS实现分页
5.CSS常用动态效果
6.布局
         - Flex布局
         - 栅格布局
         - 使用BFC隐藏属性
         - float + margin
         - absolute + margin
         - 圣杯布局
         - 双飞翼布局
7.CSS媒体查询
8.CSS 绝对定位和相对定位的深入了解
9.transform 
10.字体图标的使用
11.8种清除浮动的方式(手动滑稽,实际上只有触发BFC和非触发BFC两种,不过有个新的方法)
12.各种垂直居中和水平居中的方式 ,包括
         - 文字图片垂直居中
         - 块级元素水平居中
         - 居中, 不确定尺寸, 不兼容 IE6
         - 居中, 确定尺寸, 兼容 IE6
         - 居中, CSS3 平移方式, 兼容性不行
         - 居中, Flex 方式, 兼容性不行
         - 定宽居中页面布局
13.响应式布局的实现方式
14.伪类和伪元素
15.浏览器如何解析CSS
16.浏览器渲染html,css,js过程
17.IE兼容性问题总结
18.less基础
19.less的混入问题
20.less如何优雅地封装
21.styles

JavaScript部分

1. javascript基础内容
2. js如何去实现封装和继承
3. js处理事件机制
4. js事件委托
5. 如何去优雅地操纵dom
6. cookie、sessionStorage、globalStorage、localStorage
7. 表单处理
8. 正则
9. 闭包的深入理解
10. this的深入理解
11. 回调函数的理解以及如何去处理回调地狱问题
12. Json
13. Ajax
14. Xml
15. Xpath
16. ES6的新特性,用得比较多的是下面这些(好像基本都用到了= =)
        - let和const
        - 变量的解构赋值
        - 字符串扩展
        - 数值的扩展
        - 函数的扩展(巨喜欢class和箭头函数,终于让我有种在写java的感觉了)
        - 数组的扩展
        - 对象的扩展及其新增方法
        - Set和Map
        - Promise对象
        - Generator和async 
        - Class及其继承
17. 移动端js实现拖拽效果
18. JavaScript代码规范
19. 浅拷贝和深拷贝的区别
20. 原型链的深入理解
21. Js的柯里化
22. 如何实现无限级菜单
23. JavaScript性能优化
24. Js中的document和windows对象
25. 本地缓存和浏览器缓存的区别
26. 常用js方法总结
27. Json数组对象中键值重复判断的方法
28. SetTimeout和setInterval
29. 跨域获取json数据
30. 调试与异常处理
31. Js异步解决方案

Node.js部分

1.使用Egg实现RESTful API
2.RESTful API
3.Socket
4.Squelize
5.PostgreSQL
6.Docker
7.Swagger
8.Proxy
9.Process对象

前端优化部分

1. webpack
2. CDN
3. GoPng雪碧图
4. 避免直接操纵dom
5. 不使用IE的Filter
6. 样式表放头部,js放底部
7. Js 方面
8. 引入资源的域名不要包含cookie
9. 减少cookie的大小
10. 避免空src的img标签
11. 合理设计事件监听器
12. 优化css精灵
13. 不要在html中拉伸图片
14. 添加Expires或者Cache-Control响应头
15. 按需加载和延迟加载
16. 避免重定向
17. 减少DNS查询
18. 减少HTTP请求

框架部分

前端

1.jQuery
2.VUE.js
3.NUXT.js
4.React
5.Dva.js
6.Umi.js

开箱即用的UI框架

1.bootstrap
2.MUI
3.amazeUI
4.tree.js
5.Quasar.js
6.Element
7.Swiper
8.Ant design
9.Ant design Mobile
10.Kendo UI
11.Animate.css
12.WOW.js
13.AUI

后端框架

1.egg.js
2.koa

一些常用或者用过的插件库

1. axios    (一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。)
2. babel-polyfill  (一个将ES6语法转换为ES5的库)
3. classnames.js   (解决可引入多类名问题的库)
4. echarts (一个用于数据可视化的图表库)
5. Mock.js (Mock系统是一个简单、高效、可以快速生成模拟数据的mock服务)
6. redux-connect (异步路由跳转)
7. react-virtual-list (长列表渲染)
8. Ramda.js ( JavaScript 函数式编程库。)
9. immer (以带副作用的方式修改数据并返回新引用的数据,不会影响原始数据)
10. react-content-loader (内容占位的loading)
11. PropTypes (用于类型检测的库)
12. vue全家桶
13. react全家桶
14. js-cookie.js
15. js-base64.js
16. vue-countup-v2.js
17. XLSX.js
18. Sequelize.js
19. Electron.js
20. Lodash.js
21. Animate.css
22. Anime.js
23. Hover.css
24. wow.js
25. Velocity.js
26. move.js
27. iscroll
28. Swiper
29. layer
30. Bootbox.js
31. ustbhuangyi/picke
32. Bootstrap Colorpicker 2
33. Moment.js
34. timeago.js
35. validator.js
36. Editor.md
37. UEditor
38. Masonry
39. barcode
40. jquery.qrcode.js
41. vue-i18n
42. store.js
43. ustbhuangyi/storage
44. jsonp
45. Zooming
46. FastClick
47. better-scroll
48. history.js
49. Numeral.js
50. react-native-scrolltotop
51. react-router-cache-route

碰过的一些坑

1.margin-top和margin-bottom失效问题
2.display:inline-block;后margin失效问题
3.元素坍塌问题
4.块级元素与行内元素之间转换
5.外边距塌陷问题
6.React的传值问题
7.跨域获取数据失败问题
8.Iframe跨域通讯问题 
9.React 和react-router ,实现回退的时候,如何使页面回退到以前的状态
10.多行文本框拖动问题解决
11.List-style-type属性失效
12.Rem和em问题
13.react如何记录页面前的状态,在不用redux的情况下
14.缓存导致的问题
15.React如何去渲染HTML代码
16.如何解决跨域问题
17.浮点数的问题
18.react实现搜索结果高亮显示
19.js的dom获取曾祖父节点或者玄孙节点的办法

很多以前碰过的坑都忘了,或者已经不是坑的坑就省略了…

下面从几个方面总结一下今年个人的情况

学习

虽然放弃了考研是一大遗憾,

但是今年在学习方面起码不会让自己觉得羞愧,

也算无愧于自己了。

事业

虽然还是一个实习生,

但是从大二以来就在一直问自己,

我是不是真的十分热爱技术,真的喜欢撸代码,

是否真的把这件事作为我往后的职业规划,

哪怕是现在我也不太敢肯定,

但是起码我在撸代码的时候并不会反感

也不会抗拒去学习新的技术

在解决一个难题之后也会感到十分开心

会因为自己做了一点好玩和有趣的东西而感到沾沾自喜,

这样就够了

哪怕前路未定,

但是这样走下去就够了。

身体

自从高中以来,我的身体素质是一直在下降的,

这是可以明显并且可以直接感受到的事情,

体重也在不断地上涨,

似乎有一发不可收拾的趋势,

今年的体重在增减中不断地重复,

锻炼也在断断续续地进行,

但是总的来说是肯定不够的,

希望明年能够真正地,系统地锻炼自己的身体。

毕竟一切东西都建立在身体健康的前提下。

爱好

唱歌仍然是为数不多的爱好之一

美食和烹饪也是不可放弃的东西

很高兴今年自己的唱歌水平有所提升(虽然还不是很好听就是了,哈哈哈)

有时间可以去精心烹饪一样事物,

然后慢慢地品尝,

或者去寻遍大街小巷的美食,

也是为数不多的乐趣了吧

今年阅读的有趣书籍并不多,

很多打算看的书并没有去看,

这算是今年的遗憾了吧

爱情

终于有一天,性不再是羞耻和禁忌,

而是像吃饭喝水一样简单,

爱却成为了勇敢者的游戏。

大多数人都相信爱情的存在

但是他们并不相信这种东西会落到自己头上

这个世界上即使是自己也很难明白自己

又怎么能奢求有另外一个人互相理解?

至少目前为止这件事情并不在我的规划范围之内

我没有尝试过那种一颗送的巧克力可以保留好几年的感觉

除了年少不更事时的小心翼翼的心动,

也少有为谁心动的感觉,

但是我不想因为这种事情变得如此卑微、敏感和小心翼翼的样子

那样的我不应该是我

见识过大多数的人,

哪怕是对陌生人也不是这般

却能理所当然地对身边人施以此般

很多人似乎连做人都还不会

就已经急着去谈恋爱和结婚生子

只希望我不是其中一个。

势均力敌或许才是感情最好的状态。

明年计划和目标

1.锻炼身体
2.看各类书籍,至少包括10本计算机领域经典书籍和10本其他领域的书籍
3.每周至少能刷2题LeetCode
4.学会注意形象,学会衣服搭配
5.有时间能去到处走走,或者来一场长途骑行
6.学会一样乐器
7.研究各种美食做法
8.去找到几家不错的小店尝试它的事物
9.注意作息,避免熬夜
10.填几首歌的词

猜你喜欢

转载自juejin.im/post/5c2a53c6e51d45745469aa63