JS面试
1.bind相关用法
fun.bind(obj)将obj传入fun作为其作用域
fun.bind将返回一个新的函数地址,fun.bind(obj)!=fun.bind(obj)
反复bind只有第一次有效
转载注明http://www.cnblogs.com/billyrun/p/6597250.html
2.js中的真值
0 , “” , null , undefined , false , NaN转为boolean都是false
null == undefined 真
null === undefined 假
0 == "" 真
0 == false 真
false == "" 真
1 == true 真
2 == true 假
2 == false 假
'true' == true 假
3.表达式的使用
if(a>0)
{
b = true
}
else
{
b = false
}
应写为b = a > 0
复杂情况可以使用局部变量或三元表达式
4.闭包与引用传递
1.闭包里传的都是引用(简单类型也是引用!)
2.for()循环内var定义的变量相当于在外面定义了var i = 0
for()循环内应使用let i = 0 , 这样i只在for循环内部可见
3.由于这个闭包的关系,可以看到,是循环完毕之后才返回
var methods = [] for(var i = 0 ; i < 10 ; i++) { methods[i] = (function(){ console.log("i =" , i) return i }) } methods[0]() VM1405:5 i = 10 10 i = 100 100 methods[0]() VM1405:5 i = 100 100
以下代码暴露出for循环内错误使用闭包以及var声明迭代器的严重错误
var methods = [] for(var i = 0 ; i < 10 ; i++) { methods[i] = (function(){ console.log("i =" , i) return i }) } methods[0]() VM1196:5 i = 10 10 for(var i = 0 ; i < 10 ; i++)methods[i]() VM1196:5 i = 0 VM1196:5 i = 1 VM1196:5 i = 2 VM1196:5 i = 3 VM1196:5 i = 4 VM1196:5 i = 5 VM1196:5 i = 6 VM1196:5 i = 7 VM1196:5 i = 8 VM1196:5 i = 9 9 methods[0]() VM1196:5 i = 10 10 for(var j = 0 ; j < 10 ; j++)methods[j]() 10VM1196:5 i = 10
4.对象深拷贝小技巧
var obj2 = JSON.parse(JSON.stringify(obj1))
5.关联数组长度
var size = Object.keys({a:1}).length //size = 1
6.JavaScript内存管理问题
什么样的数组需要手动回收?(全局引用)
7.bind/call/apply的使用
prototype与__proto__的联系
instanceof与constructor
8.如何判断一个对象的值是否是数字
100 , '100' , 'abc' , null
最佳答案:isNaN()
//注意 NaN == NaN 结果是false
9.JS中的分号问题
console.log('111') //没有加分号
(true && console.log('222')) //且用括号包着导致问题 报错第三句不能执行
console.log('333')
VM73:1 111
VM73:2 222
VM73:2 Uncaught TypeError: console.log(...) is not a function
at <anonymous>:2:1
console.log('111'); //加了分号之后 解决问题
(true && console.log('222'))
console.log('333')
VM74:1 111
VM74:2 222
VM74:3 333
Unity面试
https://blog.csdn.net/sinat_34014668/article/details/127039207
性能优化
https://blog.csdn.net/qq_37405874/article/details/132628969
https://www.cnblogs.com/timlly/p/10463467.html
https://zhuanlan.zhihu.com/p/432223843?utm_id=0&wd=&eqid=8f63e7dd000a64cb0000000664620945
GC:https://blog.csdn.net/LLLLL__/article/details/128426443
内存:https://blog.csdn.net/Nbin_Newby/article/details/131537227
UGUI 合批 https://blog.csdn.net/sinat_25415095/article/details/112388638
资源管理:https://blog.csdn.net/weixin_56104874/article/details/125717283
DOTS:https://zd304.gitee.io/unity/2023/03/05/DOTS-Project-Skills/
GPU instancing
https://zhuanlan.zhihu.com/p/524285662
https://www.bilibili.com/video/BV1UV411B79X/?vd_source=7906373f4adc2cc3cc981f8fc7083a6f
https://www.cnblogs.com/billyrun/articles/12964615.html
rectTransform.rect
rect与sizeDelta的区别
自适应排版SetLayoutHorizontal
C#
写一个函数,传入一个Http状态码,返回是否可以访问(Bool)和提示文字(String)
要求当状态码为404时,是否可访问赋值为false,提示文字赋值为“404 not found”
其余情况下,是否可访问赋值为true,提示文字赋值为空字符串
(tuple/out/ref)
static用法/base用法
C#委托(Delegate、Action、Func)的用法区别
https://www.jianshu.com/p/17b6dcb1d4c0
lua
a and b or c
pairs/ipairs
元表、元方法(setmetatable/getmetatable/__metatable/__index/__newindex/__add/rawget/rawset)
https://zhuanlan.zhihu.com/p/609643600
弱引用setmetatable(a, {__mode = "k"或"v"或"kv"})仅当key、value都是表的时候有效,值类型无效
https://www.jianshu.com/p/e1f48ae76015
渲染相关
https://zhuanlan.zhihu.com/p/575930904
1、unity提供哪几种光源?
点光源、平行光、聚光灯、区域光。
2、经典光照模型
https://blog.csdn.net/qq_34552886/article/details/79089418
3、颜色空间
https://zhuanlan.zhihu.com/p/664971851
4、大世界相关
https://zhuanlan.zhihu.com/p/105616808
https://www.zhihu.com/question/476561545/answer/2722295373
https://www.zhihu.com/question/26538198/answer/3150598846
网易天谕手游技术分享 https://www.163.com/dy/article/G054G9AV0526E124.html
基础知识
数组链表区别
https://blog.csdn.net/coderinchina/article/details/106492773
判定链表是否有环
https://www.cnblogs.com/yorkyang/p/10876604.html
哈希表的优缺点(哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。)
https://blog.csdn.net/zhdd1234/article/details/5871086
智力测验
一个节目里,主持人邀请幸运观众上台,观众看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面是空的。当幸运观众选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门中的一扇空门。主持人其后会问幸运观众要不要换另一扇仍然关上的门。
表达理解能力
过去的工作中,领导是否能给你不错的指导?请举出正反两个例子