写代码啦
找工作实录——记录找工作过程直到拿offer——更新中(至5.26)
回复数(0) 浏览数(67)
{{topic.upvote_count || 0}} 编辑 回复

前言:记录本人找工作过程的情况,同时作为对自己的督促,不断弥补短板,拓展知识广度,提高知识深度。

情况:

目标城市:北京。

目标薪资:14~17K,努力去够到17k。

个人经验:19届毕业,1年+外包 + 饥人谷系统班。

求职平台:拉勾。

求职风险:较长的待业时间,从去年9月(实际是10月初,9.30离职)待业至今,学历一般,双非本科。

从5.17完成简历,经过方方和若愚老师的指正,修改了一些问题,5.19开始投递简历,先投了五六家试水,没有什么反馈,心情毫无波动,投完五六家没有反馈,在家玩一天电脑。

5.20,在这个很多年轻人都在过节的时候,我继续投简历,这天投了十多家,有一半多的hr回复消息,也有hr要了简历就跑,定下了两家面试,拒了一个华为外包面试(我真的,外包,尤其是驻场,难受)。两家面试,一家是5.21早上10.00,一家是5.24下午3.00,为了应付5.21早上的面试,晚上开始看方方押题(我是反例,即使还没到求职,学完JS的同学也该平时多看)抱佛脚。带着忐忑的心情入睡。

面试记录

5.26 更新

今天面试的是一家做人工智能业务的公司,薪资范围:15-25k,技术栈:vue。

投的时候没注意,后来看拉勾上写着人工智能我心里一咯噔,有点冒汗,直觉觉得这次面试估计不好受了,果然,面试结束后觉得自己是个大菜比.....

面试问题:

  1. 自我介绍

  2. var、const、let的区别是什么?(之前写过,略)

  3. 你怎么理解闭包?答:闭包是函数使用了外部变量,这个函数和外部变量所处的整体环境称为闭包。

  4. 闭包有什么用?答:可以保护变量不被全局污染。

  5. 闭包怎么做到避免数据被污染?答:比如封装一个对象,只做数据的操作,数据放在对象上,外面要操作数据只能通过这个对象暴露的API操作。

  6. 闭包的缺点是什么?答:会消耗更多的内存。(该答案存疑)

  7. 词法作用域和执行上下文有什么区别?(我回答得根本不是那个意思,想知道就用关键词搜索吧)

  8. 防抖的应用场景是什么?答:比如在按钮的响应事件中,如果用户点了登录,但是没有由于网速较慢响应比较慢,用户就可能多次点击按钮,防抖就是在一定时间内,点击多少次按钮都只会发一次请求,避免发多次请求浪费资源。

  9. 节流的应用有什么?答:应用不是很清楚,理论是指一段时间内只执行一次函数。(面试官笑了,说这不是和节流一样吗,我慌了,只能说没有实际用过,不是很了解...而且我回答说反了,简单来说,防抖是最后一次才响应,节流是一段时间内只响应一次)

然后进入在线写代码环节,使用飞书的在线编辑器,嗯,噩梦开始了。

  1. 写一个函数,能够按指定规则校验传入的字符串是否合法。
    // '[]' true
    //  '[[[[]]]] ' true
    //  '[[]]]' false
    //  '[[][]]'  false
    // ....
    // 除了第一种和第二种其他都是非法字符串,也就是`'[]'`要成对,并且顺序也要对,`'['`接`']'`后要都是']'

这要求一出来我就觉得完蛋,我第一反应是用正则可以做,但是直接写写不了,要先搜匹配规则再慢慢做...然后面试官不为难我了,换题目。

  1. 写一个深拷贝

....为什么都是这么难的题目,我记不得最优的那个啊...

我写的:

    function deepCopy(source){
        let target = {}
        for(let key in source){
            target[key] = source[key]
       }
       return target
    }

我太菜了只记得这个乞丐版,果然面试官面色凝重,我就知道要遭,之后没有问问题,就是聊了聊业务还有想问的问题,我自知没希望就问了下公司技术栈,我的面试表现,面试官觉得我的基础还是有些薄弱,告诉我可以去看看面试题,好嘛,面试官指点你去刷题,得。

后续:被刷了,还发了面试满意度调查,这就是有钱的公司吗....

感想:上限高的公司的要求也好高,要抓紧复习方方以前教的JS知识,好了,抓紧去看方方的押题,明天还有面试,今晚抱着押题睡。


5.24 更新

下午去面试了一家贵阳的公司,给公路局做系统的。薪资:5-10K,技术栈Vue、echarts。

凭会议记录问题。

面试问题:

  1. 自我介绍,和之前一样的方式,这个主要是控制时间,适度,面试官既有时间看简历又不会听得很无聊。

  2. 介绍一下之前公司的项目,做了什么。答:一个财务管理系统,负责搭界面,封装常用功能,封装公共组件。

  3. 浏览器缓存知道吗,答:是指LocalStorage保存数据使得页面刷新不丢失数据吗?(实际不是这个,后来查资料发现是强缓存和协议缓存,相关知识点用关键词搜索就有很多文章)

  4. var、const、let的作用是什么?(不写了,这个问题大家都知道答案)

  5. 路由是什么?答:路由是指当输入URL后,寻找URL指向的资源,找到该资源后将资源返回给发起请求的用户的过程。

  6. vue的路由守卫做登录校验怎么做?答:在路由发起前有个钩子,可以在此处的回调里写校验的逻辑。

其他的没有什么印象了,主要跟面试官聊了聊公司业务的内容,面试官说董事长是迅游的总裁,在贵阳开分公司,跟公路局有长期的业务合作。总体来说面试体验挺好的,面试官没有追着问刁钻的问题,我回答的有些问题不是很全面面试官也不咋介意,目前来看这家公司找人还是以能不能干活为主,最后问了我期望薪资,我说8k,面试官说以为6-7k(我的内心:三线城市开发真不值钱),说会跟人事沟通,看后续吧。


5.21 第一家 薪资: 9 -12 K ,使用Vue、echarts

用腾讯会议视频面试,整体面试感受不错,面试官语气挺温和,语速适中,如果我有不理解的地方会再解释一遍,有的问题也会提供思路。

由于没有录音,凭记忆回忆面试问题。

面试问题:

  1. 自我介绍:我介绍了姓名+学校+专业,讲了自己是自学前端,配上对贵司岗位感兴趣希望能力匹配结尾。介绍控制在一分钟内即可。

  2. 前端本地储存的方式:Session,LocalStorage,cookie。

  3. Session和LocalStorage的区别:主要是大小不一样,Session是4k,LocalStorage是4M左右(错的回答,答案见后)。

  4. 如果希望数据刷新后不丢失,怎么做:1.使用LocalStorage,数据更新就保存,刷新后再取一次。2.后端有数据库支持的情况下,向后端发请求获取数据。

  5. 如果希望数据在页面关闭后清掉,怎么做:1.浏览器提供了页面关闭的事件,可以做个异步的清除。2.(突然灵光一闪)或者用Session存储(面试官露出了满意的微笑:这个才是第2题的真正答案,面试官说这两种区别就这个,存储大小一样,我没验证,不确定,验证了更新)。

  6. var,let,const的区别是什么:var会变量提升,也就是可以先使用再声明,let和const不允许,必须先声明后使用,且const声明常量,let声明可变量。

  7. 如何判断一个数据类型是对象还是数组:可以用JSON.stringfy()把数据转成字符串,用正则匹配是否有{}符号,另外在数组上有一个isArray可以判断是否为数组。(回答得一般,这种情况在实际开发中常见,可多关注)

  8. 你刚才说用JSON.srtingfy()可以转字符串,什么情况下转不了:当数据是循环引用(引用自身,方方押题里有提到)的时候。(其实这是深拷贝的知识点,还好昨晚又看押题又查资料)

  9. 如果要获得多个promise的结果该怎么做:使用promise.all(),里面可以放一组promise,并获取到完成后的结果。

  10. echarts里面,如果要使多个图表联动,有什么思路:echarts里面有一个数据动态更新的API,可以在这个API里面引入其他图表数据作一个动态的计算。(这个回答是我现编的,实际应该不是这样,待查资料写demo测试)

  11. vue里面父子组件通信怎么做:1.子组件传一个事件,父组件监听这个事件。2.使用eventBus,即在一个vue实例上emit和on事件。3.使用Vuex的commit传递数据。后面两种支持任意组件通信。

  12. 如何使用vue-router检查用户在路由跳转时是否登录:使用路由守卫,有一个路由跳转前的钩子(叫啥名我记不清,不直接说怕说错),可以在钩子里写拦截的具体操作。

  13. 假设vue里有一个数组,这样的代码this.arr[2] =2运行,UI会更新吗:(我一开始回答的会,vue能检查到一层以内数据的变化,但是突然很不安,我想起了方方“动动你的脑子”,赶快改口)不会改变,因为vue不能监听到数组属性的变化,要使用vue.set()去修改。

  14. 为什么用this.$set()设置属性后视图可以更新:Vue只对data上原始的数据作今天,使用set()后新属性也会被监听,就能触发视图更新。

  15. Vuex的mutations和actions有什么区别:mutations类型vue实例上的methods,里面定义操作数据的方法,actions主要是提交事件,触发操作数据的方法。

以上就是想得起来的问题,整体看还行,问了面试官问的缺点,面试官觉得我技术理论还行,就是理论到实践的经验还差点火候。我自己觉得吧,原本觉得自己基础还行,看来又得继续去磕方方的课,看更多资料补充知识面了。

希望后面能收到更多面试,尽快拿到理想offer~~~

{{topic.upvote_count || 0}}

前言:记录本人找工作过程的情况,同时作为对自己的督促,不断弥补短板,拓展知识广度,提高知识深度。

情况:

目标城市:北京。

目标薪资:14~17K,努力去够到17k。

个人经验:19届毕业,1年+外包 + 饥人谷系统班。

求职平台:拉勾。

求职风险:较长的待业时间,从去年9月(实际是10月初,9.30离职)待业至今,学历一般,双非本科。

从5.17完成简历,经过方方和若愚老师的指正,修改了一些问题,5.19开始投递简历,先投了五六家试水,没有什么反馈,心情毫无波动,投完五六家没有反馈,在家玩一天电脑。

5.20,在这个很多年轻人都在过节的时候,我继续投简历,这天投了十多家,有一半多的hr回复消息,也有hr要了简历就跑,定下了两家面试,拒了一个华为外包面试(我真的,外包,尤其是驻场,难受)。两家面试,一家是5.21早上10.00,一家是5.24下午3.00,为了应付5.21早上的面试,晚上开始看方方押题(我是反例,即使还没到求职,学完JS的同学也该平时多看)抱佛脚。带着忐忑的心情入睡。

面试记录

5.26 更新

今天面试的是一家做人工智能业务的公司,薪资范围:15-25k,技术栈:vue。

投的时候没注意,后来看拉勾上写着人工智能我心里一咯噔,有点冒汗,直觉觉得这次面试估计不好受了,果然,面试结束后觉得自己是个大菜比.....

面试问题:

  1. 自我介绍

  2. var、const、let的区别是什么?(之前写过,略)

  3. 你怎么理解闭包?答:闭包是函数使用了外部变量,这个函数和外部变量所处的整体环境称为闭包。

  4. 闭包有什么用?答:可以保护变量不被全局污染。

  5. 闭包怎么做到避免数据被污染?答:比如封装一个对象,只做数据的操作,数据放在对象上,外面要操作数据只能通过这个对象暴露的API操作。

  6. 闭包的缺点是什么?答:会消耗更多的内存。(该答案存疑)

  7. 词法作用域和执行上下文有什么区别?(我回答得根本不是那个意思,想知道就用关键词搜索吧)

  8. 防抖的应用场景是什么?答:比如在按钮的响应事件中,如果用户点了登录,但是没有由于网速较慢响应比较慢,用户就可能多次点击按钮,防抖就是在一定时间内,点击多少次按钮都只会发一次请求,避免发多次请求浪费资源。

  9. 节流的应用有什么?答:应用不是很清楚,理论是指一段时间内只执行一次函数。(面试官笑了,说这不是和节流一样吗,我慌了,只能说没有实际用过,不是很了解...而且我回答说反了,简单来说,防抖是最后一次才响应,节流是一段时间内只响应一次)

然后进入在线写代码环节,使用飞书的在线编辑器,嗯,噩梦开始了。

  1. 写一个函数,能够按指定规则校验传入的字符串是否合法。
    // '[]' true
    //  '[[[[]]]] ' true
    //  '[[]]]' false
    //  '[[][]]'  false
    // ....
    // 除了第一种和第二种其他都是非法字符串,也就是`'[]'`要成对,并且顺序也要对,`'['`接`']'`后要都是']'

这要求一出来我就觉得完蛋,我第一反应是用正则可以做,但是直接写写不了,要先搜匹配规则再慢慢做...然后面试官不为难我了,换题目。

  1. 写一个深拷贝

....为什么都是这么难的题目,我记不得最优的那个啊...

我写的:

    function deepCopy(source){
        let target = {}
        for(let key in source){
            target[key] = source[key]
       }
       return target
    }

我太菜了只记得这个乞丐版,果然面试官面色凝重,我就知道要遭,之后没有问问题,就是聊了聊业务还有想问的问题,我自知没希望就问了下公司技术栈,我的面试表现,面试官觉得我的基础还是有些薄弱,告诉我可以去看看面试题,好嘛,面试官指点你去刷题,得。

后续:被刷了,还发了面试满意度调查,这就是有钱的公司吗....

感想:上限高的公司的要求也好高,要抓紧复习方方以前教的JS知识,好了,抓紧去看方方的押题,明天还有面试,今晚抱着押题睡。


5.24 更新

下午去面试了一家贵阳的公司,给公路局做系统的。薪资:5-10K,技术栈Vue、echarts。

凭会议记录问题。

面试问题:

  1. 自我介绍,和之前一样的方式,这个主要是控制时间,适度,面试官既有时间看简历又不会听得很无聊。

  2. 介绍一下之前公司的项目,做了什么。答:一个财务管理系统,负责搭界面,封装常用功能,封装公共组件。

  3. 浏览器缓存知道吗,答:是指LocalStorage保存数据使得页面刷新不丢失数据吗?(实际不是这个,后来查资料发现是强缓存和协议缓存,相关知识点用关键词搜索就有很多文章)

  4. var、const、let的作用是什么?(不写了,这个问题大家都知道答案)

  5. 路由是什么?答:路由是指当输入URL后,寻找URL指向的资源,找到该资源后将资源返回给发起请求的用户的过程。

  6. vue的路由守卫做登录校验怎么做?答:在路由发起前有个钩子,可以在此处的回调里写校验的逻辑。

其他的没有什么印象了,主要跟面试官聊了聊公司业务的内容,面试官说董事长是迅游的总裁,在贵阳开分公司,跟公路局有长期的业务合作。总体来说面试体验挺好的,面试官没有追着问刁钻的问题,我回答的有些问题不是很全面面试官也不咋介意,目前来看这家公司找人还是以能不能干活为主,最后问了我期望薪资,我说8k,面试官说以为6-7k(我的内心:三线城市开发真不值钱),说会跟人事沟通,看后续吧。


5.21 第一家 薪资: 9 -12 K ,使用Vue、echarts

用腾讯会议视频面试,整体面试感受不错,面试官语气挺温和,语速适中,如果我有不理解的地方会再解释一遍,有的问题也会提供思路。

由于没有录音,凭记忆回忆面试问题。

面试问题:

  1. 自我介绍:我介绍了姓名+学校+专业,讲了自己是自学前端,配上对贵司岗位感兴趣希望能力匹配结尾。介绍控制在一分钟内即可。

  2. 前端本地储存的方式:Session,LocalStorage,cookie。

  3. Session和LocalStorage的区别:主要是大小不一样,Session是4k,LocalStorage是4M左右(错的回答,答案见后)。

  4. 如果希望数据刷新后不丢失,怎么做:1.使用LocalStorage,数据更新就保存,刷新后再取一次。2.后端有数据库支持的情况下,向后端发请求获取数据。

  5. 如果希望数据在页面关闭后清掉,怎么做:1.浏览器提供了页面关闭的事件,可以做个异步的清除。2.(突然灵光一闪)或者用Session存储(面试官露出了满意的微笑:这个才是第2题的真正答案,面试官说这两种区别就这个,存储大小一样,我没验证,不确定,验证了更新)。

  6. var,let,const的区别是什么:var会变量提升,也就是可以先使用再声明,let和const不允许,必须先声明后使用,且const声明常量,let声明可变量。

  7. 如何判断一个数据类型是对象还是数组:可以用JSON.stringfy()把数据转成字符串,用正则匹配是否有{}符号,另外在数组上有一个isArray可以判断是否为数组。(回答得一般,这种情况在实际开发中常见,可多关注)

  8. 你刚才说用JSON.srtingfy()可以转字符串,什么情况下转不了:当数据是循环引用(引用自身,方方押题里有提到)的时候。(其实这是深拷贝的知识点,还好昨晚又看押题又查资料)

  9. 如果要获得多个promise的结果该怎么做:使用promise.all(),里面可以放一组promise,并获取到完成后的结果。

  10. echarts里面,如果要使多个图表联动,有什么思路:echarts里面有一个数据动态更新的API,可以在这个API里面引入其他图表数据作一个动态的计算。(这个回答是我现编的,实际应该不是这样,待查资料写demo测试)

  11. vue里面父子组件通信怎么做:1.子组件传一个事件,父组件监听这个事件。2.使用eventBus,即在一个vue实例上emit和on事件。3.使用Vuex的commit传递数据。后面两种支持任意组件通信。

  12. 如何使用vue-router检查用户在路由跳转时是否登录:使用路由守卫,有一个路由跳转前的钩子(叫啥名我记不清,不直接说怕说错),可以在钩子里写拦截的具体操作。

  13. 假设vue里有一个数组,这样的代码this.arr[2] =2运行,UI会更新吗:(我一开始回答的会,vue能检查到一层以内数据的变化,但是突然很不安,我想起了方方“动动你的脑子”,赶快改口)不会改变,因为vue不能监听到数组属性的变化,要使用vue.set()去修改。

  14. 为什么用this.$set()设置属性后视图可以更新:Vue只对data上原始的数据作今天,使用set()后新属性也会被监听,就能触发视图更新。

  15. Vuex的mutations和actions有什么区别:mutations类型vue实例上的methods,里面定义操作数据的方法,actions主要是提交事件,触发操作数据的方法。

以上就是想得起来的问题,整体看还行,问了面试官问的缺点,面试官觉得我技术理论还行,就是理论到实践的经验还差点火候。我自己觉得吧,原本觉得自己基础还行,看来又得继续去磕方方的课,看更多资料补充知识面了。

希望后面能收到更多面试,尽快拿到理想offer~~~

67
回复 编辑