首先要说四月底错过了参加笔试(4.22),结果后面发面试(5.21)邀请(也没抱什么希望)估计主要是写了个项目可能面试官看了想问问。整个面试提问部分可能没有15分钟,问了简历上项目的东西比较多,但是感觉面试官不是很满意。收录一下面试题:

1. 自我介绍

2. 学习前端大概多久?

3. 说一下vue组件之间的通讯方式有哪些    父子之间,兄弟组件

4. 有没有使用过CSS动画   说了transition和animation

5. css选择器有哪些?优先级是什么?

6. JS继承有哪些方式?(原型链继承、组合继承、构造函数继承)参考链接

7. 说一下vue-router的使用原理,两种模式hash和history

8. axios的使用    axios是基于promise用于浏览器和node.js的http客户端。特点:支持浏览器和node.js;支持promise;能拦截请求和响应;能转换请求和响应数据;能取消请求;自动转换json数据;浏览器端支持防止CSRF(跨站请求伪造)  参考链接

9. 跨域的解决方法?追问JSONP和CORS怎末使用  当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域  参考链接

10. jsonp的原理以及和Ajax使用有什么区别,为什么不是真正的Ajax    JSONP 是服务器与客户端跨源通信的常用方法。最大特点就是简单适用,兼容性好(兼容低版本IE),缺点是只支持get请求,不支持post请求。核心思想:网页通过添加一个<script>元素,向服务器请求 JSON 数据,服务器收到请求后,将数据放在一个指定名字的回调函数的参数位置传回来。  参考链接
11. 使用的JS调试工具

12. 变量提升,场景题,说输出结果

13. 手写代码:快速排序

static void quicksort(int n[], int left, int right) {
	int dp;
	if (left < right) {
		dp = partition(n, left, right);
		quicksort(n, left, dp - 1);
		quicksort(n, dp + 1, right);
	}
}

static int partition(int n[], int left, int right) {
	int pivot = n[left];
	while (left < right) {
		while (left < right && n[right] >= pivot)
			right--;
		if (left < right)
			n[left++] = n[right];
		while (left < right && n[left] <= pivot)
			left++;
		if (left < right)
			n[right--] = n[left];
	}
	n[left] = pivot;
	return left;
}

这是一次比较蓝受的面试体验,主要是问有关Ajax部分掌握的不太好,快速排序也没写好

面试具体的题目可以参考之前的面试总结(持续更新):CSS部分:面试参考  JS部分:JS面试参考   vue部分:vue参考链接

 

Logo

前往低代码交流专区

更多推荐