Ⅰ 程序员是怎么工作的
程序员(英文Programmer)从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
程序员主要工作流程如下:
1、流程说明:
⑴客户提出网站功能的要求;
⑵网页程序员根据客户的要求,设计动态功能;
⑶项目负责人对设计的页面进行审核,如果符合要求交给客户审核,如不符合要求,则返回给程序员重新修改;
⑷客户对页面进行审核,如果符合要求,须填写网页功能确认书,如不符合要求,则返回给程序员重新制作;
⑸程序员完成的静态页面和后台程序进行整合。
2、XHTML编码规范
(1)使用过度的(Transitional)XHTML1.0DTD编写网页。
每个HTML页面的基本结构必须是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>无标题文档</title>
<meta name="keywords"content="">
<meta name="Description"content="">
</head>
<body>
内容
</body>
</html>
(3)CSS和javaScript必须使用外部调用的方式。
例如:
<link rel=”stylesheet” rev=”stylesheet” href=”css/style.css” type=”text/css”media=”all” />
<script type=”text/javascript”src=“javascript.js”></script>
(4) 所有的标记都必须要有一个相应的结束标记。
所有标签必须关闭。假如是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:
<div>…</div>
或者
<br /><img alt="…" src="…" />
所有标签的元素和属性的名字都必须使用小写。
所有的标签和属性都要用小写。例如:
<BODY></BODY>
要写成
<body></body>
onMouseOver=”…”
要写成
onmouseover=””
所有的XHTML标记都必须合理嵌套。
也就是说所有的标签必须对齐。例如不能出现
<p><b>…</p></b>
而要是
<p><b>…</b></p>
所有的属性必须用引号""括起来。
<height=80>必须修改为:<height="80">
不要在注释内容中使“–”, 一定要使用可用“=”代替。
“–”只能发生在XHTML注释的开头和结束,例如:
<!–这里是注释———–这里是注释–>
要改为
<!–这里是注释============这里是注释–>
使用语义标签。
每个区块的划分必须有注释。
表现与结构分离,代码中严格控制涉及任何的表现元素。如style、font、bgColor、border等。
<img />标签必须有alt属性。
3、CSS编码规范
⑴、 总体规范
CSS代码要按照固定格式编写,属性之间不换行。
属性按照“显示属性”(display ?list-style? position? float? clear)——“自身属性”(width? ?height? ?margin? padding? border? ?background )——“文本属性”(color fonttext-decoration text-align vertical-align white-space other text content)的顺序来编写。
按照XHTML的层级来缩进CSS的定义。加强代码的结构性。如:
#nav{} #nav #sub_nav{}
不同的块之间要用空行或者注释隔开。
编写的样式要在主流浏览器中解析正常。(正常并不要求在每种浏览器都有中都有一摸一样的样式,但要求在每种浏览器里都比较美观且相差不大。)
⑵、 CSS样式表各区块用注释说明
注释的写法:
/* Footer */
内容区
/* End Footer */
⑶、 CSS选择器的命名规范
id和class命名采用该版块的英文单词或组合命名,要做到见名之意,单词之间采用下划线链接new_Release。注意不能采用“驼峰标识”的写法。
颜色:使用颜色的名称或者16进制代码,如
.red { color: red; }
.ff8600 { color: #ff8600; }
字体大小,直接使用"font_字体大小"作为名称,如
.font_12px { font-size: 12px; }
.font_12px {font-size: 12px; }
对齐样式,使用对齐目标的英文名称,如
.left { float:left; }
.bottom { float:bottom; }
标题栏样式,使用"类别_功能"的方式命名,如
.bar_news { }
.bar_proct { }
页面结构
容器 布局头部 尾部 侧栏
#container #layout #head、#header #foot、#footer #sidebar
左边栏 右边栏页面主体 栏目 包装/外套
#sidebar_left #sidebar_right #main #column #wrapper、wrap
内容
#content
导航
导航 主导航顶导航 左导航 右导航
#nav #main_nav #top_nav left_nav right_nav
下导航 二级导航菜单 二级菜单 下拉
bottom_nav #sub_nav #menu #sub_menu .drop
下拉菜单
. drop_menu
功能
标签 提示信息小技巧 注释 热点
.tab、.tag .msg、.message .tips .note .hot
标签 工具条标题 LOGO 搜索
.label .tool、.tool_bar.title .logo .search
搜索条 搜索框搜索输入框 搜索输出框 搜索结果
.search_bar .search_box .search_input .search_output .search_results
注册 登录登录条 登录框 友情链接
.register .login .login_bar .login_box .friend_link
广告/标语 版权信息 加入我们 合作伙伴 服务
.banner .right .join_us .partner .service
网站地图 缩略图产品 产品价格 产品描述
.site_map .screen_shot procts procts_prices procts_description
编辑 编辑评论
editor editor_review
其他
左中右 上中下按钮 面包屑 滚动
left、center、right top、middle、bottom btn bread_crumb scroll
当前: 图标箭头 首页 二级页面
current icon arrow home_page sub_page
状态 常见问题关键词
status faq keyword
⑷、 CSS文件命名规范
基本的样式表,每个文件都要引用的命名为: default.css。
该文件用于定义整站的风格,如站点的默认字体大小,默认链接样式等。
用于布局的样式表命名为:layout.css。
一般分为首页布局,二级页面布局,详细页面布局等几个块,块与块之间要用注释隔开。
头部,底部,导航等单独的页面模块要单独的定义一个CSS文件。名称和页面名称相同。如:head.css
首页要单独定义一个CSS文件:index.css。
其他页面可更具情况共用一个或按照网站栏目共用几个CSS文件。如:page.css、news.css等等。
特殊功能可以单独定义一个CSS文件,4.6.21如lightBox.css。
⑸ 、JavaScript编码规范
JavaScript文件
JavaScript程序应独立保存在后缀名为.js的文件中。JavaScript代码不能被包含在HTML文件中,除非这是段特定只属于此部分的代码。JavaScript引用应尽量放到body的后面。这样可以减少因为载入JavaScript而造成其他页面内容载入也被延迟的问题。
注释
代码必须有注释。以便给以后需要理解你的代码的人们(或许就是你自己)留下信息。注释要和所注释的代码一样是书写良好且清晰明了。避免冗长或者情绪化。及时地更新注释。避免错误的注释存在于程序中。
变量声明
所有的变量必须在使用前进行声明。将var语句放在函数的首部。把每个变量的声明语句单独放到一行,并加上注释说明。
var currentEntry; // 当前选择项
var level; // 缩进程度
var size; // 表格大小
函数声明
所有的函数在使用前进行声明。 内函数的声明跟在var语句的后面。
函数名与((左括号)之间不要有空格。)(右括号)与 开始程序体的{(左大括号)之间应插入一个空格。函数程序体应缩进一个TAB键。}(右大括号)与声明函数的那一行代码头部对齐。
function outer(c, d) {
var e = c * d;
function inner(a, b) {
return (e * a) + b;
}
return inner(0, 1);
}
命名变量名由26个大小写字母(A..Z,a..z),10个数字(0..9),和_(下划线)组成。大多数的变量名和方法命应以小写字母开头。必须与new共同使用的构造函数名应以大写字母开头。全局变量要全部大写。
语句
简单语句
每一行最多只包含一条语句。把;(分号)放到每条简单语句的结尾处。注意一个函数赋值或对象赋值语句也是赋值语句,要以分号结尾。
复合语句
复合语句是被包含在{ }(大括号)的语句序列。被括起的语句必须多缩进一个TAB键。 {(左大括号)应在复合语句其实行的结尾处。 }(右大括号)应与{(左大括号)的那一行的开头对齐大括号要在所有复合语句中使用,即使只有一条语句,当它们是控制结构的一部分时, 比如一个if或者for语句。这样做可以避免以后添加语句时造成的错误。
return 语句
一条有返回值的return语句不要使用( )(括号)来括住返回值。如果返回表达式,则表达式应与return 关键字在同一行。
if 语句
if语句应如以下格式:
if (condition){
statements;
}
if (condition) {
statements;
} else {
statements;
}
if (condition) {
statements;
} else if (condition) {
statements;
} else {
statements;
}
for 语句
for语句应如以下格式:
for (initialization;condition;update) {
statements;
}
for (variable in object)if (filter) {
statements;
}
第一种形式的循环用于已经知道相关参数的数组循环。第二种形式应用于对象中。object原型中的成员将会被包含在迭代器中。通过预先定义hasOwnProperty方法来区分真正的object成员:
for (variablein object) if(object.hasOwnProperty(variable)){
statements;
}
while 语句
while语句应如以下格式:
while (condition){
statements;
}
do 语句
do语句应如以下格式:
do {
statements;
} while (condition);
不像别的复合语句,do语句总是以;(分号)结尾。
switch 语句
switch语句应如以下格式:
switch (expression){
case expression:
statements;
default:
statements;
}
每个 case与switch对齐。每一组statements(除了default应以 break,return,或者throw结尾。不要让它顺次往下执行。
try 语句
try语句应如以下格式:
try {
statements;
} catch (variable){
statements;
}
try {
statements;
} catch (variable){
statements;
} finally {
statements;
}
continue 语句
避免使用continue语句。它容易使得程序的逻辑过程晦涩难懂。
with 语句
不要使用with语句。
空白
用空行来将逻辑相关的代码块分割开可以提高程序的可读性。空格应在以下情况时使用:跟在((左括号)后面的关键字应被一个空格隔开。while (true) {函数参数与((左括号)之间不要有空格。这能帮助区分关键字和函数调用。所有的二元操作符,除了.(点) 和((左括号)和 [(左方括号)应用空格将其与操作数隔开。一元操作符与其操作数之间不应有空格,除非操作符是个单词,比如typeof。每个在控制部分,比如for 语句中的; (分号)后须跟一个空格。每个,(逗号)后应跟一个空格。
4、 根据效果图利用XHTML/CSS/JavaScript/DOM/Flash等各种Web技术进行产品的界面开发。
5、 开发JavaScript以及Flash模块,
6、 增加交互动态功能。致力于通过技术改善用户体验。
7、 结合后台程序,
8、从后台接口获取数据整合到前台界面显示。
参考资料:http://wenku..com/view/0d632cd576eeaeaad1f330a0.html
Ⅱ 外汇程序化交易:EA是什么及其工作原理
EA是智能(自动)化交易程序。是由程序员设计的一套外汇交易程序,可以不断修改参数进行测试,最终目的是实现长期稳定盈利。
EA挂在mt4交易软件上,无需人工管理,行情达到预设的参数后即可自动买入卖出。并且,EA是机器自动执行,从而避免了人的主观冲动情绪,使得交易更加理性。
Ⅲ 外汇交易中EA是什么
当今时代,智能技术已应用于很多领域,交易领域也不例外。在刚接触交易时,相信很多人会听到EA交易一词,甚至有部分人曾经使用过或正在使用EA交易。那你对EA交易了解有多少?今天汇查查就给大家聊聊EA交易:
EA的全称为智能交易系统(Expert Advisor),是专为MetaTrader平台编写的软件,能够根据交易者的指示在终端中执行,而不需要他直接参与。所有任务都是自动或机械执行的,这就是EA被称为智能交易系统的原因。
简而言之,EA是一个将应用发送给经纪商,而无需交易者的任何干预的程序。交易者可在现有的交易在线平台进行安装,连接至交易商服务器,然后调整所有设置,EA将根据预设策略开始交易。
赚钱是件很有吸引力的事情。自然而然,很多交易者就会希望投资资金进行开仓,然后将所获盈利取出或是继续用于建立更大仓位。通过EA,通常会有一些简单的二进制规则(是/否)触发交易的开仓和/或平仓。
结合保守型投资的吸引力,是EA创造者和营销者提出的大胆主张。由于零售投资领域的市场范畴,监管未能涵盖EA营销。然而,多年来,通过出售系统即可获得回报的方式,我们已经看到EA交易的大力扩张。
第一: 智能且速度快
经过编程,EA会适当智能地减少风险率。并且EA省略了各种分析面的过程,分析速度远远快于人类,可以更敏感地响应价格变动和趋势变动。
第二:24小时观察市场行情
EA可以24小时观察市场行情,不用时刻盯盘,更不必熬夜,大大减少了精力。
第三:避免情绪化操作,客观中立
很多人亏损,其实有时候并不是策略不好,而是心态不稳定,人们在交易过程中容易产生过度兴奋或者低落的负面情绪。而辛苦一年赚的钱,可能因为一次冲动或执念就全数还给了市场。但EA作为一种程序,通过系统交易可以很好地避免可能由于情绪化交易带来的弊端。EA不会被情绪困扰,该买则买,该卖则卖,不犹豫,不贪心,严格风险管理,严格止损。
Ⅳ 面试JAVA程序员最基本的面试题有哪些
java异常机制的原理与应用
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象。
实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则,交给JVM进行处理。当try语句捕获异常之后,将与catch语句的异常类型进行匹配,如果匹配成功则执行catch内的语句。简单的应用:在所以throws语句的地方加入try-catch。标准应用:try-catch-finally-throw-throws一起使用。
2. 垃圾回收机制的优点
答:释放无用的对象所占用的空间。方式:自动回收,手动回收。使用System.gc(),实际上调用Runtime.getRuntime().gc()
3. Error与Exception区别
答:Error是jvm进行处理,是jvm出错
exception是可以由程序处理的,可以用try-catch捕获的
4. final,finally,finallize
答:final定义的变量的值不能改变,定义的方法不能被覆盖,定义的类不能被继承
finally是异常的统一出口,finallize是垃圾回收前的收尾工作,是Object类定义的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允许继承和实现,因为匿名内部类就是在抽象类和接口的基础上发展起来的
6. Static Nested Class 与Inner Class的区别
答:使用Static定义的Class就是外部类,可以通过外部类. 内部类直接访问
而Inner Class是不能被外部访问的,只能通过外部类的实例再找到内部类实例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)采用异步处理方式,性能较高,是非线程安全的 3)允许null
HashTable:1)released in jdk 1.0 ,old Class 2)采用同步处理方式,性能低,是线程安全的3)不允许null
8. assert代表什么?
答:asserts是jdk 1.4之后发布的新关键字,表示断言,即程序执行到某个地方肯定是预计的值,一般开发很少使用。要使用assert,必须加上 -ea参数
9. gc是什么?
答:gc是garbage collection,垃圾回收,使用gc可以进行垃圾空间的释放
10. String s = new String("xyz")产生了几个对象?
答:一个匿名对象xyz,在栈空间内。一个new实例化的对象,在堆空间内。
11. sleep() and wait()?
答:sleep()是Thread类定义方法,表示线程的休眠,可以自动唤醒
wait()方法是Object类定义的方法,需要手动notify()和notifyAll()//sleep()不释放资源,wait()释放资源
12. java中存在goto,但不能使用
13.数组有没有length(),String有没有length()?
答:数组有length属性,String有length()
14. Overload与Override的区别
答:Overload:重载
|- 在一个类中定义的若干方法
|- 所有的方法名相同,但参数类型或个数不同
|- 只有参数有关,与返回类型无关
Override:覆写
|- 在继承的关系中
|- 子类定义了父类同名的方法,参数类型或个数最好完全一样。
|- 访问权限不能更严格
15. Set里的元素不能重复,用什么方法区分?==与equals()方法的区别
答:set里的元素是不能重复的,用iterator()方法来区分重复与否,==属于地址比较,
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
16. 列出常见的 runtime exception
答:NumberFormatException/ArrayOutIndexofBoundException/NullPointerException/ClassCastException
17. abstract class 和 interface有什么区别?
答:抽象类:
|-由抽象方法和常量、变量、全局常量、构造方法、普通方法组成
|-使用abstract声明
|-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
|-存在单继承的局限
|-抽象类可以实现若干个接口
接口:
|-由抽象方法和全局常量组成
|-使用interface关键字
|-子类要通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
|-一个子类可以实现多个接口
|-接口不能继承一个抽象类,但允许继承多个接口
18. 启动一个线程要用start(),因为要通知jvm进行cpu资源的分配
19. try{}里面有一个return,问finally{}里面的代码是否执行,在什么时机执行?
答:finally{}里面的代码执行,在return之前。
20. 写一个singleton
答:singleton的核心就是构造方法私有化,Class,Runtime都采用单例
package com.leongod.demo;
public class Singleton(){
private static final sin = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return sin;
}
}
21. 程序设计:输入一组数字,然后排序输出
答:package com.leongod.demo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class IO {
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一组数字,中间用空格分割:");
String str = buf.readLine();
Set<Integer> set = new TreeSet<Integer>();
String[] arr = str.split(" ");
for(String s : arr) {
if (s.matches("\\d+")) {
set.add(Integer.parseInt(s));
}
}
Iterator<Integer> it = set.iterator();
System.out.println("排序后的结果:");
while (it.hasNext()) {
System.out.print(it.next() + ",");
}
}
}
22.列出目录内的文件
package com.leongod.demo;
import java.io.File;
import com.sun.org.apache.xpath.internal.functions.FuncBoolean;
public class FileDemo {
public static void main(String[] args) {
?? File file = new File("D:" + File.separator + "kongkong");
?? fun(file);
}
public static void fun(File file) {
if (file.isDirectory()) {
File[] lf = file.listFiles();
if (lf != null) {
for(File f : lf) {
fun(f);
}
}
}else {
System.out.println(file.toString());
}
}
}
23. char可以存一个中文汉字吗?
答:可以,使用了unicode编码
24.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
答:两种多线程方法,继承Thread类,实现Runnable接口
|-Thread类是Runnable接口的子类
|-使用Runnable接口可以实现资源共享的目的
|-所有线程操作都必须通过Thread类的start()方法启动
两种实现同步的方法:
|-同步代码块:Synchronized(this)
|-同步方法
25.f=3.4是不对的,3.4默认是double类型的
26.String and StringBuffer?
答:String 不可以修改,StringBuffer可以修改
27.Class.forname向容器中加载驱动程序
28.int与Integer有什么区别?
答:int是基本数据类型,Integer是包装类
在jdk1.5以后,可以实现自动装箱和拆箱
29.2*8有效的方法是移位操作:2<<3
30.请说出类集框架的完整结构
答:类级框架的最大接口:Collection、Map、Iterator、Enumeration
Collection:存放单值
|-List:允许有重复内容
|-ArrayList:异步处理,新的操作类,非线程安全
|-Vector:同步处理,旧的操作类,线程安全,支持Enumeration
|-Set:不允许有重复的内容,依靠hashCode()和equals()进行重复的验证
|-HashSet:无序存放
|-TreeSet:有序存放,按Comparable排序
|-Map:存放一对值
|-HashMap:新的类,异步处理,非线程安全,允许有null
|-HashTable:旧的类,同步处理,线程安全,不允许有null
|-TreeMap:有序排列,按key配需
|-Iterator:迭代输出,依靠collection接口中的iterator方法输出,是新的输出标准
31.是否可以继承String类?答:不可以,因为使用了final关键字
Ⅳ EA是什么
"EA"是指智能交易Expert Advisor,也叫智能交易系统、程序交易系统、自动化交易程序……EA本质上是一个电脑程序。
是由程序员根据操盘的交易策略和思路编写写成计算机程序,只要在交易账户运行该序,EA就能自动分析外汇行情走势,自动买进抛出,低买高抛,完全不用盯着电脑,自动完成整个交易过程。
EA自1975年最早起源于美国,随着电脑技术和网络科技的发展,华尔街上的许多大公司的外汇交易员并不是把主要精力与时间放在人工盯盘与手动操作上,而是放在不断编写与完善自己的交易策略,然后编成EA,让电脑去自动执行。
(5)EA程序员扩展阅读:
"EA"的类型介绍:
1、趋势EA
目前最常见,也是比较成熟的EA策略,根据各类指标策略判断趋势,进行交易。
2、货币对冲EA
通过不同货币价格波动的相关性进行多空对冲交易,货币对冲EA最大的缺点是无法回测,也就是无法得知过去行情的交易表现,只能通过实盘观察现有的交易。
3、网格EA
网格EA通过将k线划分相等或不等点位间距,达到间距点位触发交易。优点:资金曲线完美,盈利非常稳定,仓位小资金非常安全,配合定期出金,风险非常小。缺点:不适合小资金账户或手数过重的交易。
4、 剥头皮EA
盈利非常高的EA,利用经纪商报价延迟的间隙下单,交易时间非常短毫秒计算;缺点是对平台的点差和交易环境要求特别高,目前基本上没有平台适合做长期稳定的剥头皮交易。
5、综合类EA
综合类EA结合了以上几种EA的策略,但是有些EA虽然是趋势入场,却采用了及其激进的资金管理,放大了其爆仓风险。有些网格类EA采用了类Martingale的资金管理(马丁格尔法,类似于逆市加仓),放弃了市场中性的入场策略,反而采用一些指标来判断入场。
本人提供最新 MT4 指标 EA 加密服务有好的EA或是指标,想出售又怕被破解,现在有最新加密方法 1关键代码写入DLL文件,就算ex4-to-mq4反编译,也得不到核心代码。不能反推出原理和策略 2DLL文件提供网络验证功能,可以实现网络远程授权,终止授权,动态调整授权日期。 3 根据机器码绑定授权电脑,换电脑EA或指标自动识别终止使用权通过上述功能成功加密多个EA和指标,最大限度保护了作者的知识产权。本人为专业程序员,提供的加密服务可以提供加密过的指标进行演示远程授权远程终止使用远程修改使用日期你的EA或指标,经过本人加密可以极大的提高保密性和可出售性,甚至可以给客户提供试用版,试用时间可自己设定。交易方式,互相约定,诚信为本。有需要加密服务的朋友,扣 一二九零二一四四
Ⅶ EA尼马,什么垃圾平台,脑残程序员写的什么垃圾代
就不要说之前好久中文端都不能记录帐号
经常发现游戏列表刷不出来
云端各种卡不能同步
尼马EA这个SB玩意儿
Ⅷ 外汇中所说的EA是什么
什么是EA?
EA是一个专门针对MetaTrader平台所编写的软件,EA可以建议交易者进行交易,也可以被编程出来自动执行账户上的交易,我们通常都是在指后者。
那么EA是什么呢?
EA就是将您自己或别人的外汇交易策略用特殊的编程语言(MQL)编写成一个电脑软件程序, 让电脑按照您事先设定好的条件自动地为您买卖与交易,当然盈亏结果取决于您的自动交易系统设计得好坏。
EA的主要执行过程可分为:盯盘--开仓--再盯盘--平仓,如此循环执行的过程。
而一个EA主要包括三个要素:订单执行、风险管理和资金管理
订单执行:就是什么时候进场下单,什么时候平仓卖出,主要依据的是指标组合。
风险管理:在外汇交易中风险管理和资金管理都是非常重要的,风险管理通常就是设置止盈止损。
资金管理:资金管理就是仓位管理,每次下单多少手,是固定的手数还是基于总资金的一个比例?
Ⅸ 像育碧、EA、暴雪动视这些大厂,他们的开发人员、工程师 都是哪些大学毕业的啊什么专业
这帮人很多都是半路出家的(也就是说并不是所谓“游戏专业”出来的)。。。不过大部分都是程序员出生。。。(如果不包括策划和美术)。。。什么大学的都有吧。。。