秋招1:美团一面

先直奔主题!

 

40min

直接说问的东西吧:

1、自我介绍一下

2、说说你XX这个项目

3、你这个项目用到了ajax,说说你是咋请求数据的

  • 原生的Ajax进行数据请求

    •  //创建 XMLHttpRequest 对象
       var ajax = new XMLHttpRequest();
       
       //规定请求的类型、URL 以及是否异步处理请求。
       ajax.open('GET',url,true);
       
       //发送信息至服务器时内容编码类型
       ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
       
       //发送请求
       ajax.send(null);  
       
       //接受服务器响应数据
       ajax.onreadystatechange = function () {
           if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) {
          }
       };
    • readyState: 存XMLHttpRequest的状态。

      • 0-4五种取值。0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成、且响应已就绪。

    • status: 响应状态码(200表示成功,404表示页面未找到)

  • jQuery中使用Ajax进行数据请求(项目中使用的)

    •  $.ajax({
           type: "get", // 请求类型(get/post)
           url: "你的请求路径-url",
           async: true, // 是否异步
           dataType: "json", // 设置数据类型
           success: function (data){
               // 请求成功后的回调方法,进行数据赋值、显示等操作
          },
           error: function (errorMsg){
               // 请求失败
               alert("请求失败");
          }
       });
    • dataType:这个参数的设置需要和请求的数据的类型保持一致

       

4、你说你用到了uni-app,是干啥的?用它的目的?

  • uni-app是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。

 

5、说说你用到的这个fastClick,为啥用它?它的原理是啥?

  • 起源:手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。当用户一次点击屏幕之后,浏览器并不能立刻判断用户是确实要打开这个链接,还是想要进行双击操作。因此,iOS Safari 就等待 300 毫秒,以判断用户是否再次点击了屏幕。

  • 解决方法:

    • 1、禁用缩放

      • 文档头部设置一下,表明页面不可缩放。双击缩放也就没意义了。

      • 640?wx_fmt=png

    • 2、FastClick

      • 原理:在检测到touchend事件的时候,会通过DOM自定义事件立即出发模拟一个click事件,并把浏览器在300ms之后真正的click事件阻止掉

      • npm install --save fastclick安装

      • 在main.js中引入import FastClick from 'fastclick'

      • 并绑定到body -> FastClick.attach(document.body);

 

6、webpack了解不?(俺说不了解,就没继续问了)

 

7、你说你用到了防抖函数,为啥用它?它的原理是啥?

  • 防抖

    • 任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行。

    • delay时间内,如果有func再次触发,则会清除上次的函数执行,重新设置新的延迟函数,如果超过delay事件间隔,则会执行传入的func函数。

    •  debounce(func, delay) {
           let timer = null
           return function (...args) {
               if (timer) clearTimeout(timer)
               timer = setTimeout(() => {
                   func.apply(this, args)
              }, delay)
          }
       }

     

8、那你知道节流函数不(俺说知道,但是没深入了解过)

  • 节流

    • 指定时间间隔内只会执行一次任务

    • 等待lock的状态,如果lock状态为false,则不会再次执行语句if (!lock) return;后面的内容,直至等待setTimeout函数内容执行完毕,将lock置为true之后,才会再次执行,从而达到减少fn响应次数。

    •  function throttle(fn, interval = 300) {
           let lock = true;
           return function () {
               if (!lock) return;
               lock = false;
               setTimeout(() => {
                   fn.apply(this, arguments);
                   lock = true;
              }, interval);
          };
       }

 

9、面试官:那好,我跟你说说它原理奥,跟防抖函数的区别是啥啥啥,节流目的是啥,啊我说完了,你尝试写一下吧(内心OS:那凉了,我是背的现成的节流函数,防止让手撕节流啊,真没深入了解过。让我写一下默写写出来了,那我这矛盾啊,“你不是没了解过吗!”)。然后就僵持住了。

(下边就闲聊了)

10、面试官:emmm那好吧,我能理解你的专业原因,之前对代码啊,对前端接触的不多,没啥基础。我们面试中也遇到过很多跟你情况类似的(从零开始的),但是我们面试的时候要求也不会因此降低嘛(所以你懂得。。。)。那你还有啥要问的嘛?

11、我:emmmm想向您请教一下像我这种情况该如何学习前端(我啥水平,做了啥,能做啥面试官肯定也清楚了)。

面试官:好好扎实一下基础吧,前端基础,编程能力

12、我:(我知道自己凉了,那我就放开了问呗)算法我没接触过(我是秋招之后才知道,有笔试,要考算法- -),那我是不是还得好好学学数据结构、刷题这些的?

面试官:算法学习、刷题这些肯定是要的,但是前端吧要求不高。以你现在的情况,主要抓基础吧。你确定你要放弃你的研究方向嘛?前端重新开始?

我:是的。

面试官:好吧,我们时间也差不多了,还有什么要问的嘛?

我:没有了,谢谢。

(结束了)

 

 

 

(以下就是牢骚了)

记录一下第一次面试经历。顺便发个牢骚。

 

今天天气嘛...阴天,然而一面试完就出太阳了- -!

真的第一次参加这种正式面试,之前兼职啥的都不算- -

约了今天下午五点面试,然而邮件发的链接打不开,进不了面试房间,联系接待人,发了新的链接。弄好了快五点十分。(我感觉我约这面试时间有点不好啊,着急下班、吃饭去的时间)

 

先自我介绍吧,学校、专业说不出口的研究生,开学研三了,两年半学制,明年三月中旬毕业。侥幸发了一篇文章,达到了毕业条件,然后就是无休止的给导师打杂,当免费劳动力(emmmm其实是不是的每月还发个300)。

 

今年三月底通过项目接触的前端,这中间连学带做,到六月中旬把项目弄完了(- -其实啥也不是,贼简单,增删改查、简单的界面,用了BootStrap,新人嘛,用这玩意儿做的时候还挺嘚瑟,觉得做的挺好)。觉得前端挺有意思,然后入坑前端。

中间又帮着老师干了些杂活(耽误了挺长时间),抽时间学了VUE的,跟着coderwhy老师的课学的(吹爆,B站搜coderwhy),到今天面试应该说前端学了整整五个月。

 

千万别相信导师跟你说的那些(emmm靠谱的导师除外,俺导师就不靠谱)!!!

千万别让你干啥你就干啥(尤其是那种跟你研究方向无关,又耽误时间的那种)!!!

千万别当班干,出了加分没啥用(尤其是摊上事儿贼多的导员,没事儿就叫班干过去**,闲着没事儿开个会,啥重点没有,五分钟说完的事儿,叨叨半天)!!!**

 

准备考研的选学校一定要211起步!导师水平,研究氛围、身边人的思想见识,肯定好的多!(跟我周围环境作对比啊,勿喷)

考了研的一定要提早想想自己的发展方向,学校圈子小,接触的人少,很容易就成了井底之蛙。搞学术的就好好搞学术,搞得方向不是以后要工作的方向,那就赶紧去学习相关的东西,别吭哧吭哧给老师白干,忙忙叨叨的,人夸你两句美滋滋的!研究方向是以后要工作的方向那就好好发文章!或者读博!

别像我似的,一天感觉忙的跟三孙子似的,给这打杂,给那打杂,最后都是白干。赶紧找好方向,定下来,快去学习!

 

对没错,我就是上面说的那个井底之蛙- -对未来没有规划,刚刚找到方向。8月9号开始意识到快毕业了!要找工作了!那开始投简历吧!头铁,觉得没问题,啊,投,投腾讯!投字节!投美团!投呗!

 

然而!自那之后,我对自己认知就越来越清楚了(原来是个咸鱼,现在嘛,是个死鱼了- -)。

 

我真的从8月12号才知道牛客网- -,看面经才知道,我滴妈,自己是个啥呀。问的那些啥也不会。学的那些只会用,复制粘贴,不知道原理,各种基础也不好,让你自己写个函数都写不出来。知道牛客网之后,看面经,做总结(今年六月之后美团前端有关的面经、腾讯前端有关的面经我都总结了,也背了,然而面试时候没问,白搭- -),越准备越慌,越笔试(啥也写不出来),越知道自己几斤几两。

 

很庆幸,在这个不是说很晚的时候,清楚了自己的发展方向,了解了这个方向的要求,清楚地认识到了自己的水平。

听面试官最后给的建议吧,扎实好基础,提高代码编程能力(一定要自己能写出来东西,有整体的思路。知道为什么用,怎么用,原理是啥)。emmmm面试官这意思也是这次面试劝退的意思吧。

 

唉,沉淀沉淀吧,还是见识少- -好好扎实扎实基础,希望能赶上秋招的尾巴,赶不上的话。。。春招呗,能咋办。就怕因为三月份毕业,卡不上春招时间。

 

各位加油!我也加油!

 

posted @ 2020-08-30 17:44  骑着小猪看夕阳1221  阅读(100)  评论(0编辑  收藏  举报