【实习面经】金山云

2021金山云前端实习一面,总共八个问题


前端跨域问题

跨域就是浏览器从一个“域”向另一个“域”的服务器发送请求,来访问另一个“域”的资源。但是浏览器不允许直接访问另一个“域”上的资源,只能访问同一个“域”的资源,这就是“同源策略”。
所谓同源就是:协议、域名、端口号一致。

解决方案:

  1. JSONP
  2. CORS

Hash
postMessage
WebSocket
我遇到的前端面试题2017


JS数组常用方法

参考链接:js中数组常用的方法总结,包括ES6

方法功能返回值是否对原数组造成影响
.push()后增返回长度
.unshift()前增返回长度
.pop()后删返回被删除元素
.shift()前删返回被删除元素
  • .concat() ,拼接,返回新数组,不改变原数组
  • .splice((index,length,增加的元素1,增加的元素2…,增加的元素N),从index开始删除length个元素,并从index开始添加1-N元素,返回被删除元素组成的数组
  • .slice(startIndex,endIndex) ,返回从startIndex开始(包括),到endIndex(不包括)之间的原属组成的数组
  • .join(),将数组转换为字符串,返回字符串
  • .sort(),按ascii码排序,返回排序后数组
  • .reverse(),颠倒数组中元素的顺序,会改变原数组
  • .filter(),返回数组中满足条件的元素组成的新数组,filter()的参数是一个方法,该方法的第一个参数为一个方法,有三个参数,current:当前值 index:当前值下标 array:这个数组对象
  • .indexOf(某元素,startIndex) 从startIndex开始,查找某元素在数组中的位置,若存在,则返回第一个位置的下标,否则返回-1
  • .lastIndexOf(某元素,startIndex) 和indexOf()相同,区别在于从尾部向首部查询
  • .map(),根据需求格式化原数组,返回格式化后的数组。原数组不变
  • .every(),对数组的每一项都运行给定的函数,若每一项都返回 ture,则返回 true
  • .forEach(),数组遍历
  • .some(),对数组的每一项都运行给定的函数,若存在一项或多项返回 true,则返回 true
    ES6新增
  • find(),找到数组中第一次满足条件的元素,并返回,若找不到则返回undefined;和filter()方法的区别在于:filter返回值是所有满足条件的元素组成的数组,
  • findIndex(),作用同indexOf(),返回第一个满足条件的下标,并停止寻找;区别是findIndex() 的参数为一个回调函数,且一般用于对象数组
  • includes(),返回一个布尔值。 参数是一个value,一般用于简单数组。
  • Array.isArray(),用来判断一个元素是否为数组

深拷贝如何实现


CSS实现水平居中、垂直居中


CSS优先级以及权重


sessionStorage和localStorage的区别


清除浮动

四种方式,一种额外标签法clear:both,一种为父级元素添加overflow,一种是为父级元素添加after伪元素,一种是父级添加双伪元素

额外标签法

.clear {
  clear: both;
}
<div class="clear"></div> 

父级元素添加overflow属性

overflow: hidden | auto | scroll

父级添加after伪元素

clearfix:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visiblity: hidden;
}

.clearfix {
  *zoom: 1;
}

父级添加双伪元素

.clearfix:after
.clearfix:before{
  content: "";
  display: table;
}

.clearfix: after{
  clear:both;
}

.clearfix {
  *zoom: 1;
}

position属性

我可以为你提供一些关于 Unity 实习面经的信息。以下是一些常见的问题和主题,可能会在 Unity 实习面试中提及: 1. Unity 基础知识:面试官可能会问你关于 Unity 的基础知识,比如游戏对象、组件、场景、动画等的概念。 2. C# 编程:Unity 使用 C# 作为主要编程语言,所以你可能会被问到关于 C# 的基本语法、面向对象编程等方面的问题。 3. Unity API 和功能:面试官可能会问到你对 Unity API 的了解程度,以及你是否熟悉常用的 Unity 功能,比如碰撞检测、物理模拟、粒子系统等。 4. 游戏开发经验:如果你有相关的游戏开发经验,面试官可能会询问你参与过的项目、你在项目中扮演的角色、遇到的挑战以及如何解决问题等。 5. 问题解决能力:面试官可能会给你一些实际的问题场景,并评估你解决问题的能力和思维过程。这可能涉及到编程逻辑、算法设计或解决技术性问题的能力。 6. 项目展示:如果你有自己的作品或项目,面试官可能会要求你展示项目的代码、设计思路和实现过程。 7. 其他技术:除了 Unity 和 C#,你可能会被问到其他相关的技术,比如游戏设计原则、图形学基础、网络编程等。 这些只是一些常见的问题和主题,具体的面试内容可能因公司和职位要求而有所不同。提前准备并熟悉这些问题,可以帮助你在面试中更好地展示自己的能力和经验。祝你面试顺利!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值