高途教育-北京-暑期前端实习生一面
面试日期:2023.04.28
面试时长:50min
面试工具:腾讯会议
自我介绍+实习收获以及遇到的难点
计算机网络:
1.Get和Post请求的区别?
2.Post请求为什么相对更安全?
3.怎么保证Get请求安全性?加密方式?问了啥抓包会不会看到url?(没太听懂他到底要问啥)
浏览器:
1.跨域的解决策略有哪些?
2.反向代理使用的是什么协议?说一下Nginx实现原理?
JavaScript:
1.JavaScript的基本数据类型?为什么需要有基本数据类型和引用数据类型,他们之间的区别?
2.JavaScript的函数传参的值,在函数中修改不会导致被修改?(值传递和引用传递)
3.代码说结果:
第一题:
var obj = {name: 'ab'};
function foo(obj) {
obj = null;
}
foo(obj);
console.log(obj);
第二题:
var obj = {name: 'ab'};
function foo(obj) {
obj.name = null;
}
foo(obj);
console.log(obj);
Vue:
1.说一下双向数据绑定的原理,Vue怎么做到双向数据绑定的?
算法:
1.解析url参数为对象
function parseUrl(url) { } console.log(parseUrl('https://www.gaotu.cn?user=gsx&user=gt&id=111&name=%E5%BC%A0%E4%B8%89')) // 返回 {user: ['gsx', 'gt'], id: '111', name: '张三'} // 注意编码和同名参数
2.对数组内的元素随机排序:
有一个数组['a', 'b', 'c', 'd', 'e'], 请自己设计程序, 打乱数组内的排序,最终结果比如是['b', 'a', 'e', 'd', 'c']
注意:不能使用sort函数
var list = ['a', 'b', 'c', 'd', 'e']; function randomArray(list) { } console.log(randomArray(list)); // 返回重排后的数组, 比如['b', 'a', 'e', 'd', 'c']等
日常学习:
1.平时是怎么学习前端的?
2.手里现在有没有offer?
反问:
1.公司的技术栈是什么?
评价:
1.面试官很友好,开摄像头了。
2.面试官还是比较nice的,告诉我说不会可以直接和他说(但是我网络不方面不会,他还一直问网络)