面试经验
公司介绍
转型,或者换工作,需要做好准备,思考未来发展。
大公司的竞争比较激烈。
大公司考核综合能力,情商,沟通能力,这部分会超过技术能力。
薪水:腾讯>支付宝>百度
大公司平台高,然后领导关系也很重要(领导提携,然后可以提升)
蚂蚁金服(支付宝):加班比较多;晚上11:30下班,双十一期间;拼命。一直拼命不是正常状态。阿里没有加班费,企业文化。
头条、快手都比较累,活比较多。
百度一般在8-9点下班。
自己更适合做技术,还是适合做其他的角色,了解自己。
大的方向:是否做互联网,是否还要写代码?发觉自己的特点的心理状态。P6 准备在管理级别转,商业运营准备。PM 交互 UE(设计)UI(交互) QA(测试+设计) 前端转算法或者后端有难度。行业是否更换,职业是否更换。产品的沟通能力和情商需要很高。
如果没有合理的理由,不要频繁跳槽(也要跳槽)
天津科技大学的一个学渣-2011年毕业的前端工程师
人脉和口碑,你不知道你换工作会遇到什么人。至少不得罪自己的上司。效率!!!
简历避免造假(可能拉到黑名单);模糊的说法;工程类不是算法,对学历要求没有很严格要求,主要是技术。
一面:基础知识
自我介绍:简单介绍工作时间和经历,自己主要的工作任务和技术栈,为什么要来(平台,学知识)?5分钟左右。穿衣正式干净一点,洗头发。
基础知识重要,80%(很重要),没有技巧和捷径,掘金等。国内前端对于算法题目考察不多。基础是关键。招人是干活的,所以没有必要特别多的牛逼算法(常规的排序算法也需要实现)。需要手写算法(代码),在纸上面写。平时去积累算法。原理上面怎么实现。如果题目不会,(设计一个什么组件),不能直接说不会,我有点懵,我说一下思路。基础知识依靠背诵!!!面试准备一个月,时间长会忘记。面试需要刷题。
-
CSS:预处理器问的比较多
-
移动端:会问H5、rem计算单位。各种机型的适配,屏幕的适配等等。
-
框架:React+VUE
-
JS :事件循环机制(宏任务微任务)跨域、this、函数节流防抖、new 对象的过程、深拷贝浅拷贝;继承。promise.race
-
HTTP:浏览器解析过程(URL到界面渲染),理解原理+性能优化;这个题目很细致,涉及到知识点;JS异步加载 async 关联知识点等。浏览器缓存、强缓存、协商缓存;cookie session 分别存在哪里? cookie 存在浏览器,session 存在服务器。 HTTPS握手过程,加密算法。HTTP 2.0 和 1.1 的区别;多路复用。报文传输的字段。CSRF XSS 这部分偶尔问一下。
-
算法:冒泡、快拍、二分查找。 头条和快手喜欢问算法;BAT问的算法不多。
-
性能问题:优化首屏加载时间(服务端实现SSR)
未来发展、为什么目前选择这个机会
二面:项目
项目:做了什么,实现了什么样的问题;具体的实现思路是什么?项目要具体弄明白。简历上面写2-3个项目
技术方面:
- 重构的模块?重构为什么,自己设计的思路,提高了性能,代码量减少了?设计文档。重构项目加分。
- 实现某个富文本编辑器
- 实现某个轻量级数据库前端界面
- 项目整体的结构(后端是什么框架(MVC,模式?怎样进行交互?),怎样进行交互,简单的数据库存储)不需要后端逻辑实现。
- 查询组件,改动一个联动组件,怎么写?
- 设计一个组件库;实现某一个功能的思路(手写代码);以蚂蚁日历组件为例子
- 一个项目下来,然后做一个总结。(自己工作的每一个任务,都总结一下知识点和学到的东西)
- 其他:github有很多贡献、博客总结、日常遇到问题总结;日常开发的坑;论坛上面经典的问题(stackOverflow,知乎、掘金)
非技术的方面:排期(时间紧张安排时间)
三面:老板
- 沟通能力:沟通(和产品、后端、和设计师)
- 性格测试:抗压(身体较好,可以承受压力;心理素质较好)
四面:沟通薪资HR
- 自己有一个baseLine。我对外要求是是25K,底线是20K。跳一次涨30%。我的上个公司水平是 16K,所以现在至少20K。
- 现在的实际薪资证明。这部分和 HR 说:不在薪资里面的福利可以说。我们有半年奖金、年终奖金、过节福利。我们现在的工作强度不高。我们全部日常开销可以报销等等。
- HR 一般都会薪资证明(半年内银行流水;不要造假)、离职证明;
面试准备
简历:重点突出;面试主要是基础知识重点突破;算法是能力,面试前难以短时间提高;
面试前考虑好,是否自己的优势(公司、团队、业务、职位要求),把握大(这次面试是练手,还是目标就是转行)避免盲目的投简历。因为面试记录在系统中的,后期的面试会参考前几次的面试经历,影响以后的经历(大厂)。
就算不换工作,也去试试情况,看看自己的情况和市场要求的情况是否匹配。
误区:盲目刷题;盲目投简历;死记硬背;
百度开发流程
-
Kikk-off 功能有没有必要做,是否能做?PM 征求全部成员的意见-通常要做
-
PM 写 MRD 需求文档(word),需求评审-仔细听;认真了解功能点;不能只看设s计稿;和测试达成一致(PM-开发-测试QA);PM 就是确认,就做成什么样子,懂业务。如果扯不清,那么就是开发的锅。吃透需求(设计文档)只要改JS部分,后期维护比较好。设计好了再动代码。优化就知道方向了。
-
交互视觉设计:某个页面跳转,状态变化。(交互稿、设计稿)
-
开发设计评审(后端开发)后端出一个借口文档
-
前端后端开发-联调-自测(前端后端内部测试)
-
效果确认(PM确认是否效果)、可以确认邮件
-
测试阶段:开发需要自测P0级别的用例(核心功能必须测试通过,这个很重要);P0测试通过后,然后不断标记Bug,然后一步步更改。
-
修复BUG:开发一周的项目,前端不能超过10个BUG。千行BUG率(代码质量)。大厂比较规范,也比较耗时。
- 测试通过后,项目上线(影响哪些页面和模块,写在文档里面,前后端问题)。
- 上线后,集中回归(上线通报)。
新人压力较大,后期就好做多了。
职业规划
清楚的认识自己适合什么样的工作;沉积成本
- 想清楚自己适合什么岗位?(30岁前想明白)
- 做好新岗位所需要的技能
- 转行(35岁前转)
技术省心费脑子;技术管理费心;沟通协调也是一个优势。
在日常工作中适合做什么?
学习别人的工作方法;学生期间有老师,看别人怎么实现这个逻辑(看代码);
为什么要换公司换岗位?
自己的水平低于周边环境,这样才有提升。
选择比努力更重要,什么样的平台成就什么样的未来。
时间比物质更重要,效率问题。