数组和链表的区别

从逻辑结构来看:
a) 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
b) 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
从内存存储来看:
a) (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
b) 链表从堆中分配空间, 自由度大但是申请管理比较麻烦
从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

排序算法有哪些?

排序算法有很多,每种算法有不同的时间和空间复杂度,效率也有差别,那么针对使用上也有不同的场合。原则上说,数据结构是一门领域,跟语言没有绝对的联系,很多时候同样的算法可以用很多种语言实现。下面列一些常见的算法:插入排序,冒泡排序,选择排序,快速排序,堆排序,归并排序,基数排序,希尔排序等。

C++、C#有什么区别,C#编译后的产物和C++有什么区别

C++和C#区别:
C#不支持多重继承,这是与C++明显区别的地方。
在标准的C#安全代码中不支持指针类型的操作。
C#中所有对象都只能通过关键词“new”来创建,C++的“类名_对象名”方式在C#中变为声明一个引用。
数组变为了类,因此对于数组里的元素,NET Framework直接提供了一系列的操作:查找、排序、倒置……
C++的switch后跟参数必须是int型,而C#却允许string型。
编译后区别:
C#编译生成的 exe文件,是一个由中间语言(IL)、元数据(Metadata)和一个额外的被编译器添加的目标平台的标准可执行文件头(比如Win32平台就是加了一个标准Win32可执行文件头)组成的PE(portable executable,可移植执行体)文件,需要由CLR执行。C、C++编译生成的exe文件是传统的二进制可执行文件,可以由硬件直接执行。虽然他们有着相同的扩展名,但是却有很大的差别。

Unity资源导入过程

在导出时,Unity会记录导出内容在项目中的完整路径,并在导入时重建对应的目录结构。因此我们可以方便地在项目间同步目录。
导出时,会让你选择是否导出被依赖的内容。
所以在导入时,Unity会判断当前项目中是否存在名称、路径完全相同的文件。若有,则判断修改时间是否一致,若一致就忽略,否则会提示是否覆盖。注意Unity并不管文件的新旧,只是简单地询问用户是否用包中的文件覆盖项目中的同名文件。
Android闪退的原因,查找方法、标识有哪些
Exception:查看所有发生异常的地方,看看是不是有没有捕获到的异常。
ANR:查看应用是否出现了ANR的情况。
在Android中,程序的响应性是由Activity Manager与Window Manager系统服务来负责监控的。当系统监测到下面的条件之一时会显示ANR的对话框:
(1)对输入事件(例如硬件点击或者屏幕触摸事件),5秒内都无响应。
(2)BroadReceiver不能够在10秒内结束接收到任务。
OOM:当应用占用的内存超过了系统可以给应用分配的最大内存时,就会出现OOM。通常在decode Bitmap对象、在xml文件中inflate大的背景图片、内存泄露时,应用很容易就会出现OOM。
具体2020.03.03腾讯外包面试记录
NGUI和UGUI之间的区别与联系以及各自的优缺点
联系
1.ugui的ui根目录为canvas(画布),ngui则是uiroot
2.在屏幕自适应方面,ugui为render mode。ngui则为scaling style
3.anchor(锚点)的使用方式差不多,都是用来固定位置,在可视化方面,ugui的花瓣锚点真不太好调
4.ngui灵活性高,随意创建一个sprite,加了boxcollider,它就可以是按钮、滑动条……
5.ugui的sprite的切图功能优于ngui,ngui使用图集不能直接拖拉(毕竟是三方插件)略不方便
6.ngui的tween动画功能很省心,无需额外定义代码,使用封装好的脚本就可以实现一些简单动画,叠加脚本甚至能实现相对复杂的动画效果

NGUI与UGUI的区别
UGUI的Canvas 有世界坐标和屏幕坐标
UGUI的Image可以使用material
UGUI通过Mask来裁剪,而NGUI通过Panel的Clip
NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层.
UGUI 不需要绑定Colliders,UI可以自动拦截事件
UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉uGUI的Anchor操作起来比NGUI更方便
UGUI没有Atlas一说,使用Sprite Packer
UGUI的Navigation在Scene中能可视化
UGUI的事件需要实现事件系统的接口,但写起来也算简单
各自的优缺点

  1. NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源。
  2. UGUI出现了锚点的概念,更方便屏幕自适应。
  3. NGUI支持图文混排,UGUI暂未发现支持此功能。
  4. UGUI没有 UIWrap 来循环 scrollview 内容。
  5. UGUI暂时没有Tween组件。

相关文章: