精华内容
下载资源
问答
  • 对于每一个高校毕业生而言,不管是大学生还是大学生以上学历,在人生大学毕业时都要经历...对于不同学校,其答辩形式也是不同,有学校需要学生展示自己作品,如果你是计算机类题目,那么你就要进行运行演...

    对于每一个高校毕业生而言,不管是大学生还是大学生以上的学历,在人生大学毕业时都要经历答辩。有的学生为了答辩绞尽脑汁,每天不间断的修改着自己的程序和论文,甚至有的学生会通宵玩命的去准备,好似灾难就要来临了,这种劲头是值得赞扬的,但是呢,如果你能了解毕业答辩中的那些事,那么将会对你帮助很大。

    对于不同的学校,其答辩形式也是不同的,有的学校需要学生展示自己的作品,如果你是计算机类题目,那么你就要进行运行演示自己的程序,在运行显示时,学生需要一边讲解一边操作,在这个运行演示的过程中,台下答辩老师会实时的提问相关的问题;有的学校在答辩现场不需要学生在场运行,但是呢?需要学生将程序部署到外网上,比如阿里云服务器上,这样学生就可以直接在现场直接演示,避免了由运行程序而耽误发辫时间,台下答辩老师在你操作期间会询问相应的问题;还有的学校直接不需要学生演示,直接在PPT里面粘贴对应的作品效果图就可以,答辩老师根据学生讲解PPT的过程中实时进行提问。

    每个的学校的答辩形式是不同的,但其形式主要是上面三种形式,在答辩之前,经常有学生咨询我说,答辩老师会询问什么样的问题呢?

    针对这个问题,我简答回答一下,不管你的作品是基于什么的,有的是做的计算机系统网站类,有的是做的移动app或者小程序等。对于这样一个项目,首先是要明确项目需求分析,这个需求分析是与程序代码没有关系的,也就是明白整个程序的业务逻辑关系,只要吧这个弄明白了,不仅在一定程度上理解当前项目,关键还可以依次去回答老师的问题以及理解程序代码;其次就是在程序项目中的多个模块中寻找出2个模块,进行详细的理解,如果登录吧,从数据库建表到用户输入用户名和密码整个过程都要进行仔细研究,这样,在答辩的时候,就可以依据这个模块进行讲解;最后呢,就是对项目中应用到的技术,特别是新技术或者项目的亮点或创新点进行研究,比如请教别人、上网百度等方式,对新技术、新亮点有自己的认知,这样在答辩过程中,即使答辩老师不提问此点,自己也可以进行主动去讲解。

    对于答辩,只要是不紧张,在答辩过程中,你只要滔滔不绝的去说,去讲解自己的程序或者讲解ppt等,那么你就成功了80%,即使自己在讲解过程中突然脑子一片空白,那么就直接讲解自己准备的最充分的那一部分,但是记着,一定不要停止说。

    我目前在郑州,是一名软件开发程序员,可以开发java、php、python、大数据、数据分析、安卓以及微信小程序等,如果你对技术感兴趣,可以随时与我交流,如果你是一名毕业者,如果还是对计算机开发比较的迷茫,也可以与我交流。【保存名片,有问题随便问】

    图灵程序设计实验室

    展开全文
  • 进程:具有一定独立功能程序关于某个数据集合上一次运行活动,进程是系统进行资源分配和调度一个独立单位.它可以申请和拥有系统资源,是一个动态概念,是一个活动实体。进程是线程容器。进程是程序实体...

    1.进程 线程 协程之间的区别?
    进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。进程是线程的容器。进程是程序的实体。

    线程:CPU调度的基本单元,有时被称为轻量级进程,是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。

    • 1.进程的创建调用fork或者vfork(fork函数会复制父进程的一些资源, 也就是, 仅仅是复制的关系, 而非共享。 而vfork就不同了,
      利用vfork创建的子进程和父进程共享地址空间),而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束
      2.线程是轻量级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的
      3.线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源
      4.线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志

    协程:异步是协程的一种实现方法,协程是异步的一种封装方法,能够保留状态的函数。

    多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文,但是其切换由自己控制,由当前协程切换到其他协程由当前协程来控制。

    2.进程之间的通信方式?线程间的通信方式?

    进程:
    1)管道
    管道分为有名管道和无名管道
    无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系一般指的是父子关系。无明管道一般用于两个不同进程之间的通信。当一个进程创建了一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式。
    有名管道也是一种半双工的通信方式,但是它允许无亲缘关系进程间的通信。

    2)信号量
    信号量是一个计数器,可以用来控制多个线程对共享资源的访问.,它不是用于交换大批数据,而用于多线程之间的同步.它常作为一种锁机制,防止某进程在访问资源时其它进程也访问该资源.因此,主要作为进程间以及同一个进程内不同线程之间的同步手段.

    3)信号
    信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生.

    4)消息队列
    消息队列是消息的链表,存放在内核中并由消息队列标识符标识.消息队列克服了信号传递信息少,管道只能承载无格式字节流以及缓冲区大小受限等特点.消息队列是UNIX下不同进程之间可实现共享资源的一种机制,UNIX允许不同进程将格式化的数据流以消息队列形式发送给任意进程.对消息队列具有操作权限的进程都可以使用msget完成对消息队列的操作控制.通过使用消息类型,进程可以按任何顺序读信息,或为消息安排优先级顺序.

    5)共享内存
    共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问.共享内存是最快的IPC(进程间通信)方式,它是针对其它进程间通信方式运行效率低而专门设计的.它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步与通信.

    6)套接字:可用于不同及其间的进程通信

    线程:
    1、锁机制
    1.1 互斥锁:提供了以排它方式阻止数据结构被并发修改的方法。
    1.2 读写锁:允许多个线程同时读共享数据,而对写操作互斥。
    1.3 条件变量:可以以原子的方式阻塞进程,直到某个特定条件为真为止。对条件测试是在互斥锁的保护下进行的。条件变量始终与互斥锁一起使用。
    2、信号量机制:包括无名线程信号量与有名线程信号量
    3、信号机制:类似于进程间的信号处理。
    线程间通信的主要目的是用于线程同步,所以线程没有象进程通信中用于数据交换的通信机制。

    3.DNS协议采用TCP还是UDP传输?

    DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议;
    DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。

    为什么既使用TCP又使用UDP?
    首先了解一下TCP与UDP传送字节的长度限制:
    UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。

    区域传送时使用TCP,主要有一下两点考虑:
    1.辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。
    2.TCP是一种可靠的连接,保证了数据的准确性。

    域名解析时使用UDP协议:
    客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快。虽然从理论上说,客户端也可以指定向DNS服务器查询的时候使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。

    4.什么是负载均衡?

    负载均衡是指的是把请求均匀的分摊到多个服务器上处理。一般常见的负载均衡有两种:①客户端与反向代理服务器之间的DNS负载均衡②反向代理服务器与应用服务器之间的负载均衡(这种负载均衡有很多,可以是weblogic的负载均衡,可以是Apache+Tomcat负载均衡,也可以是nginx负载均衡,这里只讨论nginx负载均衡)。
    负载均衡的关键在于如何使请求均匀的分摊到服务器上。这里考量均匀不仅仅只的是请求数量上的一致,还有服务器压力的平均。如何均匀的分摊,取决于所选的负载均衡策略。
    先说DNS负载均衡
    dns负载均衡是通过DNS服务器实现的,主要用于把请求均匀的分布到nginx服务器上。其实真是情况中可能是用来根据地域区分请求。但是一个地域中的请求还算需要均匀的分配到nginx服务器上的。
    有两个缺点:一个是无法区分服务是否挂掉,即时某个NGINX服务器挂掉了,DNS仍然会分配。另一个是DNS缓存的问题,用户访问网站,网站域名被DNS服务器解析为某个IP。这个IP一般情况都会在客户端本地进行缓存,短时间内下次再访问这个域名,会直接从缓存中拿,无法达到真正的均匀,但这对服务器影响不算太大。重要的请求个数无法真正的做到均衡,比如每个Nginx服务器拿到100个请求,但是所有的耗时大请求都集中到某一台服务器中,那么这个服务器压力将会很大。其他的会比较空闲。
    Nginx负载均衡
    nginx是目前流行的,优秀的反向代理服务器(其实他不仅仅是反向代理服务器,还是web服务器,也可以是邮件代理服务器,感谢俄罗斯人的智慧)。nginx作为反向代理服务器,主要负责把请求均匀的分摊到应用服务器中。为了达到均匀,Nginx有五种负载均衡策略。
    1.轮询
    请求依次轮流往每个应用服务器上进行分配,分配策略比较简单。
    缺点:不均匀,可能会出现,某些服务器接受的请求较重,负载压力重,有些负荷小,不可控。另外服务器之间需要进行session同步。
    2.权重轮询
    在轮询的基础上给每个应用服务器一定的权重,比如三台服务器,权重设置为 0.4:0.4:0.2。来到10个请求(序号1到10),那么根据轮询以及权重,序号1、4、 6、 9的请求会打到 第一台服务器上,序号 2、 5 、7 、10 的请求会打到第二台服务器上,剩余序号3 、 8的 请求打到第三台服务器上。
    优点:可以根据情况进行调整。可控,仍然需要进行session同步。
    3.IP-hash
    优点:无需进行session同步,固定IP会固定访问一台服务器。
    缺点:恶意攻击,会造成某台服务器压垮。提供的服务不同,面向的地区不同,IP可能会出现集中,造成不均匀,不可控。
    4.fair
    这种相当于自适应,会根据服务器处理请求的速度进行负载均衡分配。处理请求最早结束的,拿到下一个请求。看上去是不是很好。但是一般都不使用,说是考虑到网络不稳定因素。还有待研究。这种也需要进行session同步。
    5.URL-hash
    这种是根据URL进行hash,这样某些请求永远打某台服务器。利于利用服务器的缓存,但是可能由于URL的哈希值分布不均匀,以及业务侧重造成某些服务器压力大,某些负荷低。这种也需要进行session同步。
    目前比较流行的配置是使用第二种进行配置,但是实际生产中还是需要根据业务特点进行配置,每种策略都具有每种策略的优缺点。

    展开全文
  • Hadoop是一个开发和运行处理大规模数据软件平台,是Appach一个用java语言实现开源软件框架,实现在大量计算机组成集群中对海量数据进行分布式计算,下面看看一般情况下,关于Hadoop面试是会问哪些问题,以及...

    Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算,下面看看一般情况下,关于Hadoop的面试是会问哪些问题,以及该怎么回答。





    1. 简单描述如何安装配置一个apache开源版hadoop,只描述即可,无需列出完整步骤,能列出步骤更好。

    1) 安装JDK并配置环境变量(/etc/profile)
    2) 关闭防火墙
    3) 配置hosts文件,方便hadoop通过主机名访问(/etc/hosts)
    4) 设置ssh免密码登录
    5) 解压缩hadoop安装包,并配置环境变量
    6) 修改配置文件($HADOOP_HOME/conf)
    hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml
    7) 格式化hdfs文件系统 (hadoop namenode -format)
    8) 启动hadoop ($HADOOP_HOME/bin/start-all.sh)
    9) 使用jps查看进程

    2. 请列出正常工作的hadoop集群中hadoop都分别需要启动那些进程,他们的作用分别是什么,尽可能写的全面些。

    1) NameNode: HDFS的守护进程,负责记录文件是如何分割成数据块,以及这些数据块分别被存储到那些数据节点上,它的主要功能是对内存及IO进行集中管理
    2) Secondary NameNode:辅助后台程序,与NameNode进行通信,以便定期保存HDFS元数据的快照。
    3) DataNode:负责把HDFS数据块读写到本地的文件系统。
    4) JobTracker:负责分配task,并监控所有运行的task。
    5) TaskTracker:负责执行具体的task,并与JobTracker进行交互。

    3. 请列出你所知道的hadoop调度器,并简要说明其工作方法。

    比较流行的三种调度器有:默认调度器FIFO,计算能力调度器Capacity Scheduler,公平调度器Fair Scheduler
    1) 默认调度器FIFO
    hadoop中默认的调度器,采用先进先出的原则
    2) 计算能力调度器Capacity Scheduler
    选择占用资源小,优先级高的先执行
    3) 公平调度器Fair Scheduler
    同一队列中的作业公平共享队列中所有资源

    4. Hive有那些方式保存元数据的,各有那些特点。

    1) 内存数据库derby,较小,不常用
    2) 本地mysql,较常用
    3) 远程mysql,不常用

    5. 请简述hadoop怎样实现二级排序。

    在Hadoop中,默认情况下是按照key进行排序,如果要按照value进行排序怎么办?

    有两种方法进行二次排序,分别为:buffer and in memory sort和 value-to-key conversion。

    buffer and in memory sort

    主要思想是:在reduce()函数中,将某个key对应的所有value保存下来,然后进行排序。 这种方法最大的缺点是:可能会造成out of memory。

    value-to-key conversion

    主要思想是:将key和部分value拼接成一个组合key(实现WritableComparable接口或者调setSortComparatorClass函数),这样reduce获取的结果便是先按key排序,后按value排序的结果,需要注意的是,用户需要自己实现Paritioner,以便只按照key进行数据划分。Hadoop显式的支持二次排序,在Configuration类中有个setGroupingComparatorClass()方法,可用于设置排序group的key值。

    6. 简述hadoop实现Join的几种方法。

    1) reduce side join

    reduce side join是一种最简单的join方式,其主要思想如下:

    在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签(tag),比如:tag=0表示来自文件File1,tag=2表示来自文件File2。即:map阶段的主要任务是对不同文件中的数据打标签。

    在reduce阶段,reduce函数获取key相同的来自File1和File2文件的value list, 然后对于同一个key,对File1和File2中的数据进行join(笛卡尔乘积)。即:reduce阶段进行实际的连接操作。

    2) map side join

    之所以存在reduce side join,是因为在map阶段不能获取所有需要的join字段,即:同一个key对应的字段可能位于不同map中。Reduce side join是非常低效的,因为shuffle阶段要进行大量的数据传输。

    Map side join是针对以下场景进行的优化:两个待连接表中,有一个表非常大,而另一个表非常小,以至于小表可以直接存放到内存中。这样,我们可以将小表复制多份,让每个map task内存中存在一份(比如存放到hash table中),然后只扫描大表:对于大表中的每一条记录key/value,在hash table中查找是否有相同的key的记录,如果有,则连接后输出即可。

    为了支持文件的复制,Hadoop提供了一个类DistributedCache,使用该类的方法如下:

    A:用户使用静态方法DistributedCache.addCacheFile()指定要复制的文件,它的参数是文件的URI(如果是HDFS上的文件,可以这样:hdfs://namenode:9000/home/XXX/file,其中9000是自己配置的NameNode端口号)。JobTracker在作业启动之前会获取这个URI列表,并将相应的文件拷贝到各个TaskTracker的本地磁盘上。

    B:用户使用DistributedCache.getLocalCacheFiles()方法获取文件目录,并使用标准的文件读写API读取相应的文件。

    3) SemiJoin

    SemiJoin,也叫半连接,是从分布式数据库中借鉴过来的方法。它的产生动机是:对于reduce side join,跨机器的数据传输量非常大,这成了join操作的一个瓶颈,如果能够在map端过滤掉不会参加join操作的数据,则可以大大节省网络IO。

    实现方法很简单:选取一个小表,假设是File1,将其参与join的key抽取出来,保存到文件File3中,File3文件一般很小,可以放到内存中。在map阶段,使用DistributedCache将File3复制到各个TaskTracker上,然后将File2中不在File3中的key对应的记录过滤掉,剩下的reduce阶段的工作与reduce side join相同。

    4) reduce side join + BloomFilter

    在某些情况下,SemiJoin抽取出来的小表的key集合在内存中仍然存放不下,这时候可以使用BloomFiler以节省空间。

    BloomFilter最常见的作用是:判断某个元素是否在一个集合里面。它最重要的两个方法是:add() 和contains()。最大的特点是不会存在false negative,即:如果contains()返回false,则该元素一定不在集合中,但会存在一定的true negative,即:如果contains()返回true,则该元素可能在集合中。

    因而可将小表中的key保存到BloomFilter中,在map阶段过滤大表,可能有一些不在小表中的记录没有过滤掉(但是在小表中的记录一定不会过滤掉),这没关系,只不过增加了少量的网络IO而已。

    7. 请简述MapReduce中combiner、partition的作用。

    combiner:

    有时一个map可能会产生大量的输出,combiner的作用是在map端对输出先做一次合并,以减少网络传输到reducer的数量。

    注意:mapper的输出为combiner的输入,reducer的输入为combiner的输出。

    partition:

    把map任务输出的中间结果按照key的范围划分成R份(R是预先定义的reduce任务的个数),划分时通常使用hash函数,如:hash(key) mod R

    这样可以保证一段范围内的key,一定会由一个reduce任务来处理。

    展开全文
  • 在这里有许多关于c语言学习细节问题,仔细看完这20套题,有助于对初学者更好掌握c语言。
  • 关于Unity面试和自学的相关过程,笔者这里先整理了10个常用的问题,希望可以帮助到你 1、C# 进程、线程、协程、定义区别 1:进程 定义:是程序在计算机上的一次执行活动。Windows系统利用进程把工作划分为多个独立...

    关于Unity面试和自学的相关过程,笔者这里先整理了10个常用的问题,希望可以帮助到你

    1、进程、线程、协程、定义及区别

    1:进程
    定义:是程序在计算机上的一次执行活动。Windows系统利用进程把工作划分为多个独立的区域,每个应用程序实例对 应一个进程。它包含着一个运行程序所需要的资源。
    进程是操作系统分配和使用系统资源的基本单位。
    简单来说就是一个启动程序。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。

    2:线程 命名空间:using System.Threading
    定义:进程的一个实体(线程本质上是进程中一段并发运行的代码),执行线程、体现程序的真实执行情况,是处理器 上系统独立调度和时间分配的最基本的执行单元。同一进程的所有线程共享相同的资源和内存(共享代码,全局变量,环 境字符串等),使得线程间上下文切换更快、可以在同一地址空间内访问内存。当 C# 程序开始执行时,主线程自动创 建。使用 Thread 类创建的线程被主线程的子线程调用。
    相当于启动程序里面具体的操作。一个进程可以有多个线程、一个线程必须有一个父进程,一个线程可以创建和撤销另 一个线程,同一个进程中的多个线程之间可以并发执行。
    线程生命周期开始于 System.Threading.Thread 类的对象被创建时,结束于线程被终止或完成执行时
    进程中第一个被执行的线程称为主线程。

    3:协程
    协程(coroutine)也是一种程序组件
    子例程是某个主程序的一部分代码,该代码执行特定的任务并且与主程序中的其他代码相对独立
    子例程又被称为子程序、过程、方法、函数
    协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用一个程序可以包含多个协程,可以对比与一个进程包含多个线程
    多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文,但是其切换由自己控制,由当前协程切换到其他协程由当前协程来控制
    协程和线程区别:协程避免了无意义的调度,由此可以提高性能,但也因此,程序员必须自己承担调度的责任,同时,协程也失去了标准线程使用多CPU的能力。​​​​​​​
    协成不是线程但是是主线程开启的所以协成里面是可以改变外部对象,比如说改变GameObject的显示和隐藏。但是线程是不能这么操作的会报错提示只有在主线程才能操作。 所以在协成里面开一个while(true) 会卡死主线程

    2、委托是什么? event 关键字有什么用?

    委托是一个容器,可以放函数对象,并且可以触发委托面的每个函数调用。委托主要用户回调函数。

    public delegate void GreetingDelegate(int lhs, int rhs); // 定义一个委托类型
    public GreetingDelegateMakeGreet; // 定义一个委托变量。
    MakeGreet(3, 4); // 触发容器里面所有函数调用
    

    我们如果在外部给委托变量加函数进来,那么委托要定义成public,这样做又有一个问题,public外部的人也可以触发这个委托,如果我希望设计成外部可以加回调,但是只能是模块内部触发委托,那么我可以加一个event来修饰,这样虽然是public,但是外部无法触发委托,只能类的内部触发。

    public event GreetingDelegateMakeGreet;

    3、Unity 摄像机有几种模式,成像原理是什么?

    Unity 摄像机有两种模式一种是透视摄像机 ,一种是正交摄像机,透视摄像机成像的原理是利用相似三角形来成像,如下图
    透视相机原理

    正交摄像机直接投影到屏幕成像:
    正交相机

    4、UGUI如何打包成图集?

    UGUI打包图集分成几个步骤,如下

    Step1: 开启UGUI的图集模式,Editor->Project Settings 下面有sprite packer的模式。Disabled表示不启用它,Enabled For Builds 表示只有打包的时候才会启用它,Always Enabled 表示永远启用它。这里的启用它就表示是否将小图自动打成图集
    示例1
    Step2: 为每个UI图片制定要打入的图集的tag名字。
    示例2
    Step3: 打包生成图集Window ------>Sprite Packer,点击Pack即可打包生成图集。

    5、UGUI 如何实现UI物体淡入淡出?

    UGUI里面比如Image这些组件,都继承自Graphic类,这个里面提供了一个方法:
    Alpha: 目标的alpha值

    Duration: 渐变的时间

    ignoreTimeScale:是否忽略Time.scale

    void CrossFadeAlpha(float alpha, float duration, bool ignoreTimeScale);

    6、Unity [MenuItem()], 其中[]是什么意思?

    C#里面[]表示的装饰器,和Java里面的注解是类似的,我们可以通过Api函数读取到装饰器。

    比如,Unity Editor模式下的[MenuItem(“菜单”)]来装饰一个函数为菜单响应函数,那么为什么加了[MenuItem(菜单)] Unity就会生成这个菜单呢?Unity 读取MenuItem这个装饰器,知道这个装饰器的路径,这样根据这个路径在菜单创建一个路径出来,利用C#的反射保存这个装饰器所装饰的方法,这样点击菜单就调用这个方法。

    7、AssetsBundle包打出后.manifest有什么用?

    .mainfest 是一个文本文件里面有ab包的校验码,依赖以及资源内容等相关信息,这个信息是给开发读的,同时这个信息也作为二进制打入了ab包里面,所以使用ab包资源的时候,可以不用带.manifest文件。

    8、Image与RawImage的区别?

    Image是UGUI里面显示一个图片的常用的组件,他支持图集、单独的图片。一般我们显示图片都用Image组件来显示,因为图集能够把同一个图集里面的图片合并drawcall,这样提升性能。Image支持九宫格等模式。

    RawImage组件是UGUI显示单个单个的图片而用的,它不支持图集,所以不同图片的RawImage单独占一个drawcall,RawImage可以直接修改贴图的uv参数,这样可以调整图片的显示。类似与打飞机的滚动的背景就可以用RawImage来不断修改uv坐标来实现背景图片的滚动。

    9、Unity项目有哪些特定的文件夹名字,有什么作用?

    Unity项目中有常用的一些文件夹的名字,这些文件夹的名字是Unity规定的,他们分别的作用如下:
    Editor: 这个目录下的代码和资源是编辑器的Editor模式下的代码和资源,不会打入包体中,也不会在运行的时候执行。
    Resrouces: 使用Resources.load加载的资源都要放到这个路径下,不管这个资源有没有用都会在打包的时候把这个路径下的所有资源都打入包体。
    StreammingAssets: 可以使用UnityWebRequest来加载本地的文件,这个文件夹下的所有文件都会被打入包体中,加载的时候可以使用web 的方式来加载。
    Plugins: 用来存放插件的各个平台的目录,比如x86, android, iOS等。

    10、如果你是架构师,资源管理你会如何做?

    资源管理是Unity框架设计里面很重要的一个模块,我们先来分析需求,资源管理的需求有:

    1.代码加载资源与资源的释放接口

    2.完整的资源更新机制与管理

    3.支持打空包的同时,也支持打普通的游戏包。

    4.做好版本管理与渠道管理。

    做到第一点需求,如果我们用Resource.load来加载,那么打空包资源更新就非常不方便,所以放弃Resources。同时又要代码加载,我们采用纯AssetsBundle机制来进行设计。所有的资源都基于AssetsBundle来进行管理,加载,释放。

    AssetsBundle本身有完整成熟的更新与解决方案。打空包也方便,把ab包部署到服务器,第一次运行先下载到本地,后续从本地加载ab包。在打包Ab包的时候,分渠道,分平台,生成不同的ab包资源。如果不打空包,只要把这些ab包放入StreammingAssets目录下这样用StreammingAssets的方法来加载ab包。先从ab包下载目录加载,如果没有,就到StreammingAssets目录下加载,这样永远加载的是最新下载的,其次才是在包体所带的。

    Unity面试问题第一批10个问题就是这样,后期陆续还会有H5(三大主流引擎 Laya,CocosCreator,Egret)、和 Http 的问题解疑一一呈现给大家,希望大家继续关注。

    展开全文
  • 实用文档 问题 1 已知 X 补码为 10011000则它原码是 ( D) 答案 D 1101000 1100111 1001100 0 1110100 0 问题 2 关于世界上第一台电子计算机 ENIAC叙述中错误是 (B ) 答案 B ENIAC是 1946 年在美国诞生 它...
  • 本光盘的使用方法:点击感兴趣的问题,就可以链接到该问题的答案。所有文件都是用WORD打开的。在点击所要看的问题时,请同时按住Control键(Ctrl)。 第1章 概述 问题1-1:“主机”和“计算机”一样不一样? 问题1-2...
  • 最近在做项目时,ajax参数中出现了特殊字符(#)导致路径出现截断问题,去度娘找了下答案,找到了解决办法,在js中有个:escape() 函数 看下函数介绍 escape() 函数可对字符串进行编码,这样就可以在所有的计算机...
  • (4)分布式操作系统能使系统中若干台计算机 协同 完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上 并行执行 ,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以 网络通信 、 资源...
  • 数据结构1800题及答案.pdf

    热门讨论 2011-12-04 17:11:44
    5. 下面关于算法说法错误是( ) 【南京理工大学 2000 一、1(1.5 分) 】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写程序含义是相同 C. 算法可行性是指指令不能有二义性 D. ...
  •  Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关顾问撰写工作,曾帮助无数程序员步入编程殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了...
  • 特别说明:该版本是目前网络上最全的版本:修正了268-367页缺页的问题。 该资料是《Visual C++ 2008入门经典》的源代码课后练习答案 对应的书籍资料见: Visual C++ 2008入门经典 基本信息 原书名: Ivor Horton...
  • 2.1 计算机的内存 19 2.2 什么是变量 21 2.3 存储数值的变量 21 2.3.1 整数变量 21 2.3.2 变量的命名 25 2.3.3 变量的使用 26 2.3.4 变量的初始化 28 2.3.5 算术语句 28 2.4 变量与内存 34 2.5 整数变量...
  • 该资料是《Visual C++ 2010入门经典(第5版)》源代码课后练习答案 对应书籍资料见: Visual C++ 2010入门经典(第5版) 基本信息 原书名: Ivor Horton's Beginning Visual C++ 2010 原出版社: Wrox 作者: ...
  • 软件工程北大慕课答案

    万次阅读 多人点赞 2020-03-21 16:49:47
    软件定义特点 1单选(2分)软件产品与物质产品有很大区别,软件产品是一种(C)产品。 A.有形 B.消耗 C.逻辑 D.文档 2多选(2分)下列关于软件说法正确是(BCD) A.软件是通过定制进而生产制造出来 软件是...
  •  (1)安全性问题,由于附网存储设备直接于以太网相连,其安全性存在着一定的问题,通常为了保障安全性,需要设置防火墙。  (2)大量数据存储都通过网络完成,增加了网络的负载,特别不适合于音频、视频数据的存储。 ...
  • 人工智能导论-周苏作业答案

    千次阅读 多人点赞 2020-11-21 17:49:03
    1.作为计算机科学一个分支,人工智能英文缩写是( )。AI 2. 人工智能是研究、开发用于模拟、延伸和扩展人智能理论、方法、技术应用系统一门交叉科学,它涉及( D)。 A. 自然科学 B. 社会科学 C. ...
  • 关于形式语言、自动机理论和计算复杂性方面经典之作,是国际上得到广泛认可的计算机理论和计算机工程专业优秀教材。书中涵盖了有穷自动机、正则表达式与语言、正则语言性质、上下文无关文法上下文无关语言、...
  • 该系统运行稳定、操作简单、调查的问题不受限制。基于Web界面的调查问卷生成系统,操作方便,并可以根据企业需求设计调查问卷的风格。 用户可以选择调查答案并提交;系统自动避免同一用户多次提交。 管理员可增加...
  • 软件定义特点 1单选(2分)软件产品与物质产品有很大区别,软件产品是一种(C)产品。 A.有形 B.消耗 C.逻辑 D.文档 2多选(2分)下列关于软件说法正确是(BCD) A.软件是通过定制进而生产制造出来 软件是...
  • 获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等 ...
  • 6、 操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取和保护。它提供用户接口,使用户获得良好的工作环境。操作系统使整个计算机系统实现了高...
  • 本书可作为信息类专业高年级本科生与低年级研究生教材,也可供从事信息安全、计算机、通信、电子工程等领域科技人员参考。 William Stallings为读者提供了一本关于密码编码学与网络安全最优秀书籍。 更新...
  • 在阅读本书时,你应当有一本你所使用UNIX系统Unix程序员手册,关于实施细节等有时需参考该手册。 对于几乎每一个函数和系统调用,本书都用一个小完整程序进行演示。这可以让我们清楚地了解它们用法,...
  • 并查集原理和代码实现。或许你并不知道,你某个朋友是你亲戚。他可能是你曾祖父外公女婿外甥女表姐孙子。...请写一个程序,对于我们的关于亲戚关系提问,以最快速度给出答案
  • 这是科幻小说《银河系漫游指南》中智能计算机「Deep Thought(深思)」经过750万年运算,找到关于生命,宇宙一切问题的终极答案」。 为什么是42?「深思」把这个问题交给了一台更高智能电脑——地球来回答...
  • 「 42. 」这是科幻小说《银河系漫游指南》中智能计算机「Deep Thought(深思)」经过750万年运算,找到关于生命,宇宙一切问题的终极答案」。为什么是42...
  • 关于这个问题的答案,因为“利益”问题,所以被培训机构故意隐瞒了。 首先,不是计算机(偏软件)、软件工程、数学等相关专业“全日制”大专以上,基本上不用想了。 在社招上,关于学历和专业,无论大中小企业...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
关键字:

关于计算机的问题及答案