什么是面试 #
面试是测查和评价人员能力素质的一种考试活动。具体地说,面试是一种经过组织者精心设计,在特定场景下,以考官对考生的面对面交谈与观察为主要手段,由表及时测评考生的知识、能力、经验等有关素质的一种考试活动。
面试流程 #
- 电话面试
- 一面(同事-技术 别谈工资)
- 二面(leader主管,是否有潜力)
- 三面(总监-价值和沟通能力)
- HR(工资、福利、报到时间)
技术面试 #
考察技术细节和基础知识
负责人面试 #
项目把握能力,项目深度,项目架构能力,和业务相关的东西
HR面试 #
考察性格、沟通、潜力
面试环节 #
一面 #
测试基础知识,围绕基础知识点考察
- html5新增标签
- 块级元素和行内元素
- CSS3知道哪些东西?如何在项目中使用?
- 如何理解JS中的面向对象?
- 闭包&作用域&原型链
二面 #
一般由高级工程师问,会问一些技术的原理、简历上的写的内容和自我介绍,还有项目以及延伸出来的知识点
- 双向数据绑定的原理?
- React的生命周期有哪些?
- JSONP的工作原理是什么?
- 有没有看过jquery和Vue.js源码?
- 项目中遇到的难题?如何解决的?
三面 #
- 不再关注具体的技术细节
- 一般由业务负责人问
- 更关注你的职业生涯方向
- 有没有有特色的业务?
- 业务上推动了什么?
- 改变了什么?
HR面 #
- 沟通能力和团队合作能力
- 性格是否乐观积级?抗压能力如何?
- 学习能力和成长潜力
面试准备 #
职位描述(JD)分析 #
https://www.lagou.com/jobs/3196953.html
通过职位描述分析企业要求的知识点和技术栈,根据JD去准备相应的技术细节和相应的项目作品以及简历
职位描述:
职位描述:
1. 负责京东金融企业业务PC端和移动端相关的前端开发工作;//工作内容包括PC和移动端
2. 负责企业金融App H5开发,完成前端界面与后端交互开发;//jsbridge canvas?动画?
3. 负责与后端工程师沟通协作,调试数据接口;
4. 负责京东金融前端组件库的建立;//抽象能力、阅读框架源码、架构能力
5. 负责对现有系统的优化与重构。//业务理解和重构能力
任职要求:
1. 3年以上相关工作经验,精通HTML5特性,了解HTML5最新规范,能够熟练运用HTML5特性构建移动端的WebApp;//经验是约数,需要了解新技术
2. 熟悉当前流行的 JavaScript 类库,熟悉JavaScript面向对象编程方法;//面向对象的编程风格
3. 熟悉Web标准,对表现与数据分离,HTML语义化等有一定理解,至少熟悉一种前端MVC框架并且有实际经验(不限 React,VUE,Angular等);//写代码的时候注意语义化,要有真实的框架项目经验
4. 具有前端架构分析与设计能力,一贯坚持编写易读、易维护、高质量、高效率的代码,习惯于OOP开发方式;//提前梳理自己的项目,自己尝试梳理业务、划分目录、设计可复用的模块和组件、搭建开发环境和上线流程
5. 对用户可用性,用户体验,用户研究等相关知识有深入的了解和实践经验;//项目描述中要突出自己为此做的额外工作
6. 对Web前端技术有强烈兴趣,能对Web前沿技术研究和新技术调研,有良好的学习能力和团队合作精神;//上github看看最近火热的前端项目用什么技术
7. 了解Css预编译语言如sass、less等;//上官网看着学习一下
8. 熟悉web构建工具 Grunt、Gulp,能够自己搭建前端构建环境;//有gulp实践经验,并知道和grunt的区别
9. 有服务端(不限语言)开发经验者优先。//没有硬性要求,不要主动强调
复习的时候要尽可能向要求靠拢
业务实战分析 #
心态准备 #
- 程序员是最不看学历和专业的
- 只要能做事,有技术,放低要求先入行
- 国内没有这个专业,都是半道出家
- 不要没有自信,不要自我否定,态度要积级向上
- 没有经验,但要有完成任务的决心和能力,能把事情搞定
- 没有经验,但态度好,非常好学、上进、努力
技术栈准备 #
技术栈 #
- jquery 源码、事件委托、兼容性
- vue&react&angular
- nodejs+express
前端工程化 #
- sass&less
- gulp&webpack
- npm&yarn
无经验如何准备项目 #
- 要有真材实料(网页、github、技术博客、前后端作品)
- PC、移动、Angular、Vue、React个人简历
- 京东、小米等仿站
- 苹果轮播、模态窗口、表单验证、音乐播放器等插件
- 学习笔记和技术博客
- 自己完成的项目github集合
- 能够反映技术水平和简历的证据
- 其它技术无关,但能证明自己优异的证据,如奖项、专利、文章、论文等
https://dribbble.com/
https://psdrepo.com/
有经验如何准备项目 #
- 项目周期
- 项目名称
- 项目业务描述
- 项目地址、访问量、PV、UV、会员数、是否盈利
- 包含版块
- 技术栈
- 开发流程如gitflow
- 项目流程?如何分工?如何协作?如何合并代码?如何测试和修复Bug?如何上线?服务器什么系统?
关于项目主要是关注你对这个项目做过哪些思考?在项目中遇到的问题,如何推进的,如果出现团队矛盾难以协调问题如何解决的。开发中遇到的问题如何通过引入一些新的技术来解决的
平时做项目的时候要仔细思考,要有积累,有沉淀。 比如用vue碰到了什么坑?遇到过什么项目问题,有总结和下一步计划。是如何改进的你的工作流程和效率的。一定要写上对项目的思考
自我介绍 #
简历 #
自我陈述 #
- 把握面试的沟通方向
- 陈述完成后已经准备好问题了
- 项目负责人还是技术负责人
- 团队成员情况、如何分工、如何协作
- 难题如何攻克
- 喜欢研究技术和网站
- 豁达自信的适度发挥
一面技巧 #
- 准备要充分
- 知识要系统
- 沟通要简洁
- 内心要诚实
- 态度要谦虚
- 回答要灵活
二面技巧 #
- 准备要充分
- 掌握项目的背后的原理和难点
- 项目架构
- 技术能力
- 人员组织
- 技术难点攻克
- 描述要演练
- 引导找时机
- 优势要发挥
- 回答要灵活
- 话不要说绝
业务能力 #
主动描述 #
- 我做过什么业务?
- 负责业务有什么业绩?
- 使用了什么技术方案?
- 突破了什么技术难点?
- 遇到了什么问题?
- 最大的收获是什么?
团队协作能力 #
- 搭配架构、分工开发、合并代码
- 通宵加班解决服务器性能问题
项目推动能力 #
- 主动提出并实现CMS系统
- 完成多项专利申请
- 协调五个部门实现播放记录的合并
带人能力 #
- 带实习生使之独立完成项目
- 代码规范、代码review
其它能力 #
终面 #
面试技巧 #
- 乐观积级
- 主动沟通
- 逻辑顺畅
- 上进有责任心
- 有主张,做事果断
职业竞争力 #
- 这个岗位为什么给你?
- 是技术全面?
- 参与开源社区?
- 了解技术多?
- 带过团队?
- 擅长总结?
- 业务能力,是否能从产品的角度思考问题
- 思考能力 对同一件事情可以不同角度去思考,找到最优解
- 学习能力 不断学习新的业务和技术、沉淀、总结
- 全心付出 对于无法解决的问题可以熬夜、加班
职业规划 #
- 目标是什么?
- 近阶段的目标
- 长期目标
- 方式方法
- 先完成业务上的主要问题,做到极致,然后逐步向目标靠拢
水平分级 #
- 初级 指基础没有问题 ,做项目没有问题,能独立 开始做项目
- 高级 要求做比较复杂的项目,带二三个人做项目并带他们成长,能够沉淀组件和构建等
- 架构师 可以带十几二十几个人,可以协调团队发展。
成长历程 #
- 学习框架先看文档,再看文章,一定要去实践,开发完你就入门了,去找一份比较正式的工作
- 工作二年之后会遇到一个瓶颈,思想开发中遇到什么核心问题,要深入底层了原理。另外要关注多人开发时的冲突解决。
- 后来会过度过工程化,四年之后会成为一个架构师的角色。架构师就是做工程化的事情 。
架构师主要是解决多人开发,团队协作,开发效率等问题
持续成长 #
- 包括技术、经验、解决问题能力、管理能力的成长。
- 它通过一些特质来造就,比如好奇心,分析问题和解决问题的方法,做事态度。
- 持续长成的工程师就是优秀的工程师。
- 好奇心就是对技术感兴趣,愿意用它来解决问题。
- 自己做一些小的作品
做事的方式 #
- 做完事后有没有去总结,做完事后有没有去分析,还是直接写代码,直接去切图
- 重复性的工作会不会想办法去做一些工具或组件库去解决这类问题
- 面试的时候会关注自己有没有写笔记和博客,这是一个学习的方式和做项目总结的方式
- 对新技术的关注,有没有关注社区的新技术,关注业界的进展,是否在把时间投入在学习上面,如果你对开源技术有了解和实践经验会更有优势
大家关心的面试问题 #
- 简单上要不要说培训经历?
- 职业规划如何回答?
- 有没有男朋友?结婚了吗?有孩子了吗?
- 社保、银行流水、离职证明、学位证书?
- 为什么不做和大学相关专业的工作?
- 不知道找前端还是找后台?
- 简历怎么写?工作经验和项目经验?
- 薪水如何定?
- 没有用框架做一个完整的项目?
- 面试中带什么样的作品让人家认为自己不是小白?
- 工作中遇到问题怎么办?
- 什么样的公司靠谱?
- 在公司里的真实工作流程是什么样子的?
面试的流程? #
技术面试官-主管或经理-总监或BOSS-HR(人力资源,人生和职业发展薪水)
- 先去前台登记
- 领取登记表
- 给你一套笔试题
一定要录音和回顾,如果面试后感觉公司不错但自己没成功,快把面试题发给同学,建立班级的凝聚力和团结力
如何写简历 #
简历的作用 #
- 是敲门砖: 争取更多的面试机会
- 展示自我: 在简历中一定要把自己的职业素养和职业技能都表现出来
- 一份优秀的简历可以引导面试官的问题,问的问题基本上都是自己会的
简历的格式 #
- 与职位无关不写
- 不同岗位不同公司准备不同的简历
- 简洁规范,注意细节
- 不要使用WORD,使用PDF格式,WORD可能打不开, HTML可能字体缺失
- 文件名清晰明白 前端工程师_张三-15718888888.pdf
- 不要有任何错别字 iPhone JavaScript iOS
- 不要用QQ邮箱,使用Gmail,证明你能会翻墙和看懂英语
- 语言精炼,逻辑清晰
- 挖掘自己的闪光点和优势
- 尽量写1-2页纸即可
- 格式美观大方,方便阅读
- 字体(中文微软雅黑,英文Arial/Helvetica)
- 颜值高的可以贴照片
用产品思维写好你的简历
招聘时间 #
- 每年3、4月份的实习季
- 每年8、9月份的校招季
- 过年之后2、3月份的跳槽季,招聘部门开始招聘计划
信息来源 #
- 内部推荐(内推)比较靠谱,信息靠谱,内推有奖
- 联系人比联系公司邮箱,直接投给HR邮箱
- 官网招聘(应届宣讲会、毕业后专场招聘)
- 拉勾、51job、智联、BOSS直聘、猎聘、程序员拍卖100offer、各大招聘网站
如何投简历 #
- 先写一版简历,自己确定没问题后发给同学给老师看看,确定无问题后在各大招聘平台发布
- 每天7点海投
- 每天都刷新,提高排名(9:30~10:30 13:30~15:00)
- 保持手机24小时开机
- 主动打电话:表示职业态度
- 不要拒绝外包公司
- 前几家可以练手,从面试中学习,积累经验,再面心仪公司
- 失败后要调整优化自己的简历,还可以找面试官要对自己的评价和反馈,并适当调整自己的薪水定位
基本信息 #
- 姓名
- 年龄
- 性别
- 学历
- 籍贯(增加老乡面试的机会)
- 工作年限:8年
- 联系方式 电话 邮箱(不建议使用QQ邮箱,在手机上安装邮箱客户端及时收消息)
- 具有争议的婚否 建议不写
- 政治面貌建议不写
- 学历 只写最高学历,有优势可以写,无优势不写或放最底下
- 如果颜值高可以放自己的生活照
- 自己的移动端简历二维码和个人博客二维码,纸质简历和移动端简历信息一致
求职信息 #
- 求职行业不用写
- 求职岗位: (全栈)前端开发工程师
- 期望薪资:个人建议不要写面议,大家给自己树立一个目标,为目标努力 ,这样才有动力
- 何时可到岗: 已离职,随时可以入职,或者一周之内可入职
- 个人建议的薪资制定标准,这是底薪,大家可以根据自己的学习情况适当去调整即可,写期望薪资时整体上调1-3K
- 零基础 7-9K
- 一年 8K-11K
- 两年 10K-13K
- 三年 12K-15K
- 五年 18K+
要的钱越少,干的活越多,吃的苦越多,成长的越慢,还容易被开
专业技能&&自我评价 #
在招聘网站的自我评价一栏中 写这部分专业技能 以小组为单位,到拉勾网上找50位左右的招聘信息,然后汇总对比,看看招聘需求怎么写的,然后反推出自己的专业技能编写(经常出现的框架和技术,不管会不会快点学)
- HTML(5)/CSS(3)、响应式布局、WebApp、hybird
- 原生JS、设计模式、jQuery、Zepto、swiper、iscroll
- less、sass、bootstrap
- react、angular、vue
- gulp、webpack
- svn、git
- node、express、mongodb
自我评价 #
- 体现职业素养的
- 展示自己的兴趣爱好
要让面试官看到你的自信、努力、梦想和态度
工作经验 #
- 工作时间太短合并
- 公司名称去掉外地名称
- 描述
- xx年xx月-xx年xx月 公司名 职务
- 公司是做什么的,公司简介
- 所在的部门和职务
- 在这家公司完成的项目
- 使用到的哪些技术
- 主要负责什么
- 在这家公司的成长和心得以及为什么要离职(突出真实性)
- 职业态度 市场永远需要有基础、有能力、有梦想、肯努力的人
- 离职的原因只要不说上家公司坏话和自己坏话就可以
公司必知 #
- 公司地址
- 公司多少人?技术团队多少人?前端多少人?后台多少人?后台使用什么技术?
- 公司主营业务
- 公司网站一天访问量PV/UV
- 公司网站会员注册量,有没有盈利
- 工资多少?按照什么样的标准缴纳五险一金,每个月到手多少钱
- 作息时间
项目经验 #
- 2016.08 - 2017.08 项目名称(时间多少合适?多少都行?时间比较长的话,一般是先用一个人短期开发,后面维护升级)
- 项目描述
- 项目中有哪些版块
- 自己负责哪些板块(自己负责的部分一定要多并且重要且有含金量,突出自己的能力)
- 在项目中用到了哪些技术(这块是在证明我们之前写的专业技能我是会的,所以一定要把专业技能介绍到)
- 项目经验越多越好,不建议低于4到5个
- 如果你有工作经验,那么你自己模拟XXX做的东西就不要写了,个人博客可以写上
- 前端多少人?如何合作开发?后台多少人?用的什么技术?项目是怎么上线的?服务器用的什么系统 ?
- 开发周期
- 项目地址、项目访问量pv/uv、会员注册数
自己写的项目一定要会!!!
教育经历 #
2005.08 - 2009.08 学校 学历
- 专业(专业不是计算机怎么办,实打实的写,或写成计算机)
- 写一条最高学历即可
语言技能 #
兴趣爱好 && 自我评价 #
技多不压身,生活不仅仅是代码,还有诗和远方
面试小技巧 #
如何让别人看到职业态度 #
- 不要迟到,整洁有精神/女生化淡妆
- 彬彬有礼,见人打招呼,开门前先敲门,别人递水说谢谢
- 准备一本最新的框架书籍,面试的时候带上,在面试等待过程拿出来看(爱学习)
- 面试的时候带上笔和本,在面试过程中,面试官问了一个不会的问题,当着他的面记下来
- 有自信会的多说,不会的坦言不知道,但要知道如何学,去哪里学,体现学习能力
原则 #
- 多突出自己的优势和强项
- 远离弱项,一定要补一个强项
- 多方面全方面交流
一定要做到的事情 #
- 做面试总结: 不仅要记录在纸上,最好还要录音,只要你总结了10家公司,从第11家开始就没有问题
- 千万能不要頽废和懈怠
- 只要你们自己不放弃,学校是你们永远的后盾
- 这是一场马拉松,不是百米赛跑,吃好,睡好,和学友们在一起,照顾好自己的身体和情绪
非技术问题 #
这种问题一定要多聊多沟通
- 职业规划?一起畅想未来
- 为什么从上家公司离职?
- 还有什么想问我们公司的吗?
- 如果能把面试官叫出去抽烟或一起吃个饭,工作稳成
- 有什么问题时可以问他说的不详细的部分?如 团队多少人?前端多少?后端多少?产品规划是什么?
进公司后如何做 #
- 来的比经理早,走的比经理晚,只要经理看到你,你都在敲代码
- 注意察言观色,为人处世融洽,多帮助同事
在公司里的真实工作流程是什么样子的? #
- 领导或甲方提出需求,然后产品分析需求,并且根据需求画出原型图,然后根据原型图出设计稿。
- 出完设计稿团队评审,过后交与前端制作静态页面,然后静态页面,交与设计审核,过后交给开发人员,进行动态数据的添加。
- 添加完之后,发布测试环境,产品测试领导审核,成功后,直接发布产品环境。或进行版本迭代。
企业技术需求 #
- HTML、CSS基础核心知识,掌握w3c规范,能够处理IE低版本浏览器兼容,能够100%还原设计稿,熟练掌握页面布局中的一些技巧(左定右定中间自适应如何来处理…) =>看CSS面试题复习即可
- 掌握HTML5和CSS3的新特性,熟练掌握响应式布局开发(百分比布局、@media、REM、flexbox),拿到设计稿后可以做出适配所有手机或者平板的项目;掌握hybrid混合开发模式,能够开发APP(webApp),最好掌握微信的二次开发;熟练掌握移动端常用的类库或者插件:iscroll、swiper、zepto、bootstrap(栅格布局的原理,要求掌握的深入一些)、highcharts、echarts…
- HTML5中新增加的语义化标签及兼容处理
- 表单元素新增加属性以及作用、placeholder、新的验证方式…
- audio、video
- canvas:highcharts、echarts、Adobe Edge(工具)…
- 新增加的API:localStorage(cookie和它的区别以及用途、sessionStorage、session…)、获取地理位置…
- socket.io(web socket) =>长连接(长轮询)
- H5的离线缓存,这个了解即可,项目中一般很少使用
- CSS3导入外部字体和一些图标(bootstrap、阿里字体图库…)
- CSS3选择器
- CSS3中常用的属性:border-radius、box-shadow…
- CSS3中对背景的变革
- CSS3中的transform(2D/3D)
- CSS3中的动画:transition、animation
- CSS3中的盒子模型:box-sizing、flexbox、columns…
- SVG:我们有一张图片,想要实现点击这张图片的每一个部分实现不同的操作(map) =>图形处理的面试题
- 熟练掌握JavaScript基础核心知识(作用域、THIS、CALL、DOM、事件…),掌握OOP(面向对象:对象、类、实例_原型…)编程思想,熟练掌握单例模式、发布订阅模式、promise等设计模式;掌握ES6和ES5的区别,能够使用Babel编译ES6,最好能够掌握ES7…;
- jQuery及一些JQ插件:jQuery dialog、jQuery Validate 、jquery datepicker、jquery drag、jQuery Banner Slider…而且自己可以基于JQ扩展插件,掌握JS的核心原理
- 熟练掌握前后端数据交互:AJAX、JSONP、其它的跨域方式(document.domain)、知道JSONP跨域的弊端以及如何解决(NODE做中间层,前端页面由NODE渲染)、最好会点PHP和JSP,掌握一些前端渲染引擎(kTemplate等,EJS是NODE环境下的模板引擎)… =>JS部分复习需要按照珠峰课程体系和面试题双方向复习
- 自动化打包部署平台:gulp、webpack(es6+react+webpack)…
- 熟练掌握AMD(require.js)、CMD(sea.js)、CommonJS规范,熟练掌握MVVM和MVC思想
熟练掌握:React、Vue、Angular三个中的一个(至少会一个,而且这一个面试的时候可以斩钉截铁的和面试官说能立即使用框架做项目)
- 熟练掌握:git、svn 代码管理中的一个,掌握多人基于git合作开发的步骤流程
了解NODE即可,了解Express、mongodb等,熟练掌握npm包管理的原理和流程 =>按照珠峰的课程体系复习,然后自己拿框架做一个小项目(博客、简历…)
- 剩下的自己爱弄啥弄啥,只要有关即可