秋招1:美团一面
40min
直接说问的东西吧:
1、自我介绍一下
2、说说你XX这个项目
-
原生的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、禁用缩放
-
文档头部设置一下,表明页面不可缩放。双击缩放也就没意义了。
-
-
-
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 (
-
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面试官这意思也是这次面试劝退的意思吧。
唉,沉淀沉淀吧,还是见识少- -好好扎实扎实基础,希望能赶上秋招的尾巴,赶不上的话。。。春招呗,能咋办。就怕因为三月份毕业,卡不上春招时间。
各位加油!我也加油!