一名前端程序猿的面试总结
下面聊聊本次失业(为什么失业?小伙伴可以看一下 一名程序猿的失业遐想 )找工作的一些经历,换工作要学习的技术实在比较多,虽然干这行的跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的路线),还是钱给少了,不受重视。准备不充分的面试,完全是浪费时间,更是对自己的不负责。
今天给大家分享下小猿在这次失业找工作中常见的面试题,以及面试中的总结(纯属个人观点),其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部的。
找工作篇
接下来聊聊这次的找工作的个人经历。
这次找工作花了一周的时间,面试了10家公司,最终拿到6家公司的offer。面试的公司的类型有电商,教育,游戏,大数据,医疗,当然还有外包公司。面试的工作岗位有iOS开发,前端开发。其中从面试的这10家公司,有9家都是招聘前端开发岗位,仅只有1家招聘iOS开发岗位。在XX招聘网站上,把简历挂出去,也基本都是招聘前端开发岗位的公司主动联系我,而招聘iOS开发职位的公司却寥寥无几。从接到的面试的数量,职位类型,投递简历回复的速度来简单分析,现在市场上前端开发需求比较大,还依旧处于比较火热的行情。和几年前的app开发岗位火热非常相似,而今天的app开发岗位需求急速下降。不得不说互联网行业发展以及技能更新之快。
这10家公司有一家是外包公司,常驻阿里,虽然经过几轮面试后拿到了offer,最后还是放弃了。在面试的时候和面试官交流,他说阿里内部工作用的技术栈基本都是阿里内部在用,在外边的公司很少去用(也不知道是真的假的)。最重要的还是外包到阿里(外包公司还是需要慎重!慎重!慎重!亲自经历过,深知里边的坑有多深),考虑到这些就放弃了。所以各位小伙伴如果有像这样的工作机会,需要慎重考虑。当然了,如果是阿里的社招,就别考虑了,赶紧直接去吧。从技术面试难度来看,阿里的面试确实比一般的公司难度稍微大一点,技术面试也略偏向底层和原理。如果想要去互联网巨头公司,就先脑补一下底层和原理吧。在技术面试上其它公司都很一般,比较简单,问的技术都不是很深入。如果你是一个工作经验丰富的从业者,基本都是秒杀。在技术面试的过程中,我有总结几个技巧:
- 面试官问的问题,你不是很理解,或者比较模糊。这时候你不要急着去回答,你可以反问一遍面试官:能不能更详细的描述一下这个问题?这就是在应试教育中所说的正确审题
- 如果面试官问的问题你确实不会。一定不要骗面试官,不会就是不会。你可以回答不会,但是一定要追加一句:如果工作需要,我非常乐意去学习等等
- 如果你的面试房间有黑板,在恰当的时候在黑板上把解决思路写出来或者把流程画出来,可以给你加分(当然了一定要有100%把握的情况)
- 在回答一个问题的时候,你可以适当的拓展一下(这个时候可以让面试官跟着你的思路走)
- 如果面试官让你去解决某一个问题,你可以多说几种解决方案
- 当然了,有些面试官喜欢装逼的感觉。那就让他装逼,你就在一旁听着,不停点头就对了,在适当的时候尽可能表达一下自己的意见
最遗憾的就是在入职新公司之后,接到携程,爱奇艺这些公司的面试,很想去尝试一下,考虑到已经入职和其他它原因,我都给推掉了。打算下一次换工作去投简历!找一份工作,在投简历的时候给自己定一个目标,希望找一个什么样的公司,找一个什么样的岗位这些都需要去考虑。最起码要清楚什么样的公司不会去选择!我面的所有公司,形形色色,在这里不得不提创业公司,创业公司就是给你最大的诱惑,其实是在拿命给别人工作,这次我面的就有一家这样的创业公司,给你画了很多大饼,看得见摸不着,有的甚至看不见摸不着,感觉还很不错,其实风险很大。千万不要被这些人忽悠了(这可是一群很会忽悠的牛逼人物)所以这种公司最好不要考虑。今年创业公司倒闭最多,基本上都做不下去。唉,现在的互联网行业也越来越不景气了!互联网行业面试一般都是经过几轮技术面试,最后是HR面试。当然如果你技术不过关,就没有HR面试了。到HR面试这一轮,你就有80%的几率进入这家公司。HR面试其实都是在扯淡,最重要的就是谈薪资啦。这里给大家分享一下经验,你可以把你期望薪资提高一下(不要那么实诚),因为是个HR都会压你工资的,HR稍微压一下工资你也是可以接受的,这样基本就给你offer了。举个例子,你期望薪资是12k,你可以给HR说成15k。然后HR和你讨价还价,只要不低于12k就可以了。其中我面的一家公司让我印象很深,这家公司HR很变态,不得不说真会砍价。前边面了6轮技术,最后HR给我谈薪资的时候,压的很低!很低!很低!和期望薪资相差5千大洋,当时心里有一万个草泥马奔腾而过,不知道骂了她多少遍,当时就直接拒绝了。像这种公司,面了6轮技术,最后还没一点诚意去谈,等于浪费时间。就算再往下谈,也不会达到自己的期望薪资。
面试题
下面我总结了一下这次我还有印象的面试题:
只记录了部分面试题,没有整理答案,考虑到答案比较多,所以这里先不给出答案!
iOS
iOS面试的比较少,这里只总结了一下值得去研究的问题
- 1、去model化 ?
- 2、webView和WKWebView的使用和区别,怎么和js交互和通信,优缺点 ?
- 3、怎么优化应用
前端
- 1、js闭包
- 2、js(es5)面向对象?
- 3、js原型链?怎么实现继承?
- 4、浏览器渲染机制,垃圾回收机制,缓存机制?
- 5、this指针?(常规函数=>构造函数=>箭头函数)
- 6、promise的使用和原理?
- 7、es5和es6的不同之处?es6的新特性有哪些?
- 8、react的setState的原理是什么?
- 9、ES6新增数组的api,对象新增的api?
- 10、react生命周期?
- 11、react组件通信?(父子=>订阅=>redux)
- 12、diff算法?(虚拟算法和key的作用)
- 13、讲一讲高阶组件?
- 14、ajax接口请求方式与跨域(ajax的缺陷和fetch的三大缺陷)?
- 15、网络安全?(防攻击)
- 16、git常用命令?
- 17、性能优化?(可以参考雅虎军规)
- 18、css3新特性?
- 19、h5新特性?
- 20、scss或者less的使用好处?
- 21、http响应码?
- 22、react的核心思想?
- 23、怎么诊断网站反应慢?(你都是用哪些工具测试)
- 24、redux和react-redux的实现?
- 25、vue和react插槽?
- 26、react的属性和状态的区别?
- 27、ssr的优缺点?
- 28、mobx的使用?
- 29、css五大布局?
- 30、vue的生命周期,钩子函数有哪些?
- 31、vue和react的区别?
- 32、使用过vuex吗?
- 33、js的前浅拷贝,深拷贝,实现方式有哪些?
- 34、React中的PureComponent组件帮我们做了什么事情?
- 35、讲一下冒泡机制?怎么解决冒泡?
- 36、vue双向数据绑定的原理是什么?
- 37、图片的懒加载和预加载?
- 38、从输入url到显示页面,都经历了什么?
- 39、js垃圾回收机制方式,内存管理?
- 40、移动端适配的方式有哪些?
- 41、http和https的区别
- 42、null和undefined的区别
- 43、清楚浮动的方式?
- 44、跨域是什么,解决跨域的方法
- 45、jquery的事件委托方法on、live、delegate之间有什么区别?
- 46、怎么检查变量类型?
- 47、AMD CMD CommonJS标准的区别
- 48、怎么防止重复点击?
- 49、聊聊你常用的js的方法?
- 50、封装网络请求的时候需要考虑什么东西?
- 51、你自己常用的第三方插件或者库有哪些?
答案后续会在公众号上给出,有兴趣可以关注一下!