双非本科,通信工程,算是转到IT行业这边的了。从大二暑期正式开始学习前端,想想已经一年的时间了。期间经历了很多,从迷惘到清晰,从艰难自学到找到实习,从备战秋招到找到工作。能经历的我都经历过了。来说说那些【前端工作者】的艰辛与欢乐。
开始自学前端
电话面问题不多,但是十分考验对相关知识熟悉程度,面试官是 P7(不理解这个就去百度吧)
大二暑期留在学校,一边参加数学建模培训,一边自己学习前端的基础。由于之前学习过一些HTML和JS的基础,我就直接开始学习jquery了,跟着李炎恢老师的JQuery教程学习,算是入了门。学习了BootStrap框架。
暑期就跟着视频学习,做了两个小项目。期间出现问题怎么办,能怎么办,就各种百度解决,看博客,逛社区。在现在看来,当时就是没有学会走就想着跑。自己之后在JS基础这里吃了很多亏。
跟着实验室开始做项目
实验室老师让做一个物联网平台,于是我们就凑吧凑吧,成了一个team,有前端,后台,移动端,嵌入式。
所以建议之后的学弟学妹,如果你们学校有实验室,去一去,自己潜心学习,加上良好的氛围,进步会很大的。这个项目就让我真正开始学习到前后台交互,数据格式处理,浏览器渲染和兼容性问题的处理。
春招(实习)
寒假荒废了一个寒假,没有想到,刚开学的开始,就是各大厂开始招聘暑期实习了,当时简历也没做,知识也没有复习,整个就是懵逼状态。然后随即开始赶超。
我就记得我那段时间就是待在实验室看各种前端知识总结,然后不停的改简历,最起码改了有3版。做笔试,去面试。3月4月这两个月也时春招的黄金时期,我那段时间面了CVTE,腾讯,好未来,融360,还有一些小公司。
面经如下:
CVTE:
-
简述一下项目
-
js闭包及解决办法
-
js原型,原型链,继承
-
angularJS数据绑定的原理
-
手写代码 字符串反转
-
CSS中content如何自适应
-
然后就让我问他问题,我问了我这场面试表现怎么样,还有哪些知识点掌握的不好。 然后让我好好看js权威指南和js高程
腾讯:
-
自我介绍
-
给string写一个函数,如何链接上去
-
bind函数实现的原理(用函数写出来)
-
如何判断括号匹配(写一个函数)
-
webSocket,TCP,HTTP,websocket的首部信息有哪些,解释一下
-
socket与HTTP的区别
-
AngularJs数据绑定的原理
-
Vue路由使用的是什么
-
NodeJS中Express框架使用哪些中间件
-
MVC框架与MVVM框架
-
解释一下单页面应用程序
-
然后问我有什么问题,我问她们部门用什么框架,她说是ReactJS,server用的是KOA。然后就开始说React多么好
好未来
(一面)
-
基本就是基础知识吧,有点想不起来了。
-
还有直接上手敲代码,我写出来了,说我写的不规范,最好用函数封装起来
(二面)
-
敲了两段代码,基本都写出来了
-
我现在回想起来,好像知道我挂在哪了,当时问我你喜欢看什么小说,印象最深的是哪本,讲了什么。于是我没多想就说了松本清张的《苍白的轨迹:箱根温泉杀人手稿》,讲述的是凶手如何设计一个漫长的复仇计划,不急不缓,丝丝入扣,在岁月的配合下,将棋局中的人,一个接一个地抹杀。就在我说的正入迷,就被面试官打断了。然后,就没有然后了
融360
(一面)
-
简述一下你的项目
-
弹性盒模型
-
H5+C3
-
transform
-
transition
-
animate
(二面):
-
移动端开发
-
移动前端与PC前端的区别
-
移动端开发的适配问题怎么解决
-
好的,你移动端不怎么会,我们也就不浪费时间了。EXM???
终于,感觉找不到实习了,然后就开始自己学习,又跟着实验室做了一个项目,还是平台开发。不过拿着去参加互联网+大赛了。进入孵化阶段了。
都是放暑假了,然而我并没有放弃找实习,对,就是这么轴。然后,就找到了。
绿盟科技
(一面)
(就是我进去实习之后的导师)
-
canvas具体实现的步骤,如何绘制一个圆,有哪些参数
来,你说说你的这个平台怎么实现的 -
你会AngularJs,那你说说AngularJsDI
-
说说CSS3的新特性,动画要怎么实现
-
会使用git吗
(二面)
(部门老大面的,15mins左右)
-
你说说你使用git的情况
-
你能实习多久
-
对于项目开发的流程了解吗
-
家在哪
-
会使用AngularJs吧
然后,就过了,周一报道
实习的收获
学会团队合作和协作开发,对于前后端数据交互的几种方式那可是熟悉的不得了,因为出过好几次问题,都实在不好意思再去找后台大佬问了。
我实习的时候,突然发现的一个好习惯,就是我每天记工作笔记,每天遇到什么问题,怎么解决的,有没有更好的方法。
奈何,公司没有实习生转正,再走校招流程呢,我又没过。
ε=(´ο`*)))唉,心塞。然后,直接把活一交接,辞职走人了。回到学校全面备战校招。
秋招【biubiubiu】
秋招呀,就这么匆匆忙忙的开始了,赶紧拾起自己遗忘的知识,翻开笔记,修改简历,狂刷题,投简历,做笔试,去面试。
俗话说,金九银十,9月份的时候,面试倒是不少,但是offer却没有,这一度让我开始怀疑人生,我TM好歹也是有项目经验,有实习经验的人呢,怎会这么惨。
于是,我反思了一下,前面都是大厂,对于基础知识和算法要求高,我这历史遗留问题估计是没有得到解决。于是,国庆节期间狂补算法,狂刷JS基础知识。
然后,10月基本就是另一批公司了,算法竟不怎么问了。WTF???得亏我身经百战,有项目经验和实习经验比较那得出手,我实习的时候还是做得平台开发,难,是真的难。就公司那个平台,看了好久,才明白整个业务逻辑。
于是,10月份终于收获几个offer。期间还拒了一家本地的,真是坑呀。像我这样向往自由的人,是怎么都想留在本地了。20多年了,没出去过,所以,怎么地都想去外面。
说说秋招面试吧
好未来
(一面)
-
来,说说你的项目
-
谈一下你对前端工程师的认识
-
算法会吗?写一个你熟悉的排序
-
你实习都学到了什么
-
你家在哪,想去北京吗?
-
ps:大概只能想起这么些了,然后我就被挂了,WTF???
东方财富
(一面)
-
两个栈实现一个队列(三种方式)
-
将已排好序的数组打乱,越乱越好(多种方法)
-
你数学建模做的是什么,详细讲一下
-
数据库会吗?
-
浏览器兼容性的处理
美团
(一面)
-
http与https的区别是什么
-
说一说HTTP的状态码
-
写一个统计字符串中每个字符出现的次数
-
写一个冒泡排序
-
实习的时候做了什么
-
你使用过AngularJs,你感觉它的优点和缺点是什么
-
ps:我也不知道为什么会挂,感觉都答上来了
绿盟
(一面)
-
你在这实习过,那你说说你实习都做了什么
-
实习遇到了什么问题,怎么解决的
-
你了解AngularJs指令操作的使用吗?
-
AngularJs依赖注入的原理是什么
-
flex布局实现两边固定,中间自适应怎么实现
-
websocket
-
http的请求方法
-
RESTful这种架构模式了解吗
猫眼
(一面)
-
jquery $()有哪些使用方法
-
HTML5了解哪些特性
-
CSS3animations和transform的区别
-
AngularJs如何实现依赖注入
-
HTTP用于cookie的字段的设置
-
浏览器缓存
-
websocket具体是怎么使用的
-
来,这还有几个编程题,你写一下
推想科技
(一面)
都不用说问题了,就是网上的那些js变态题,好多,一个一个问
详见我的一篇blog 44个 Javascript 变态题解析 (上下)
东方国信
一面,电话面
-
自我介绍
-
说说你的项目
-
HTTP状态码(我又扯到了浏览器缓存,一通说,然后他就说我基础很好)
-
flex布局
-
cookie和session的区别
-
说一说HTML5+CSS3新特性
-
谈谈事件机制
二面,视频面
-
HTML5+CSS3新特性
-
JS浅copy与深copy
-
TCP与UDP
-
定位
-
闭包
-
JQuery原理
面完就告诉我过了,然后叫了他们老大,谈了薪资福利什么的,我说我考虑考虑。(最后拒了)
苏宁
(一面)
-
谈谈项目
-
websocket
-
写一下代码,实现将一段文字查到页面最前面
-
浏览器工作原理
-
浏览器缓存机制
-
CDN了解吗
-
移动端开发会吗
-
你了解哪些性能优化的方法
-
ps:大家都知道苏宁的评价吧,当时我是技术面过了的,至于为什么没有收到通过短信,我也不知道。其实就算我过了,也不会去的
西拓电气(1,2,3,4,5面)offer
一面:
-
项目挨个讲一下
-
实习做了什么,学会了什么,出现过什么问题,怎么解决的
-
浏览器兼容性的处理
-
比较一下各大框架的优缺点
-
对于新技术学习的热情
二面:
-
git使用熟悉吗?
-
实习时遇到的最大的难题是什么,怎么解决的?
-
做项目的时候,遇到的难题是什么,怎么解决的
-
你如果过来,会负责平台开发,能挑战吗?
-
能接受加班吗?
三面(hr面)
-
我们公司是做什么的
-
你能接受的薪资是多少
-
你家在哪,父母做什么的
-
然后带着我在公司休闲区参观了一下
四面(副总面)
-
我们公司是做什么的
-
你实习的公司好在哪里,你感受到了什么样的氛围
-
如果你到了我们公司,你愿意把你在实习公司学到的技术氛围
在这里营造吗?怎么去做
-
你的职业规划呢?
-
如果公司有待改善的地方,你怎么提出来
五面(总裁面)
-
我们公司是做什么的,
-
然后我就扯了一下新技术现在的发展,如果我入职,我将会从那几个方面进行技术研发
途家
(一面)
-
很随意,先做笔试题
一个算法题,Dijkstra算法 -
ajax
-
服务器端开发了解吗?
-
HTTP请求过程
-
实习遇到的问题,怎么解决的,学到了什么
融360
(一面)
无力吐槽,视频面,面了一个半小时,面试官拿了一份题,一个一个的往下问
好多是布局问题
还有编写个函数
都是网上那种面经,实在回忆不起来了
teambition
(一面)
算是我面的比较有水准的一家公司
-
项目简介一下
-
AngularJS的依赖注入
-
前端安全
-
JS的执行机制
-
AngularJS的工作原理,服务的几种方法
-
NodeJs了解多少
-
AngularJs与Vue有什么区别,每个的侧重点在哪里
-
ps:其实全程都是在技术讨论,因为我使用AngularJs比较多,所以就谈了很多AngularJs的技术,让我好好看一看面向契约编程,还有JS需要往深挖掘,不能停留在表面
微盟(一,二面+HR)offer
一面:
-
数组的方法
-
创建对象的几种方法
-
如何实现继承
-
websocket
-
HTTP的状态码,请求方法
-
会微信小程序开发吗
-
移动端开发了解吗
-
问了两个笔试题
二面:
-
项目简述一下
-
实习遇到的问题,怎么解决的
-
说说数组有哪些方法
-
git使用
-
事件机制
-
浏览器存储
hr面:
-
去过上海吗?
-
说一下你最骄傲的事情
-
在学校都有什么成就
-
你数学建模是什么做的
-
ps:hr说感觉我的思维很活跃,很有深度
然后,我就结束秋招了,不管怎样,也算是找到一份比较满意的工作。
浩浩荡荡的这几个月,经历了很多。也看懂了很多事情,觉得吧,人嘛,还是要遵从自己的内心去活着,因为你永远不知道下一刻会有多糟糕。也就是活在当下,过好每一天。
学习技术,你就踏踏实实的,基础是关键。
对于前端这方面的学习,我也算是身经百战了,虽不能从成功的方面给予建议,但能从我走的弯路告诉你们,怎么避免走一些愚蠢的弯路,因为弯路都是要走的,不能一帆风顺的。
基础很关键,如今三百六十行,行行转IT,怎么拼得过千军万马呢,当然是牢固的基础知识,如今我就在狂补计算机操作系统,网络知识,数据结构与算法。
前端基础,HTML+CSS+JavaScript
基础知识见这篇博客前端面试题之汇总
HTML&CSS:
对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型、选择器优先级、
HTML5、CSS3、Flexbox
JavaScript:
数据类型、运算、对象、Function、继承、闭包、作用域、原型链、事件、RegExp、JSON、Ajax、
DOM、BOM、内存泄漏、跨域、异步装载、模板引擎、前端MVC、路由、模块化、Canvas、ECMAScript 6、Nodejs
其他:
移动端、响应式、自动化构建、HTTP、离线存储、WEB安全、优化、重构、团队协作、可维护、易用性、SEO、UED、架构、职业生涯、快速学习能力
前端摩尔定律不造大家听过没有,前端每18个月难度增加一倍。
对,是的,据Angular官方说法,每半年新出一个版本,是的,我1.0还没有学会,5已经出来了,据说Vue3.0也出来了。很棒棒哦!
少年,前端路漫漫,如果想好要走,那就加油吧!