- 浏览: 2049669 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
1、 求下列代码执行以后expr的值
a) int a = 8,b = 4;
int expr = a++%++b*2
答案:6
注意:++运算符在变量前后的区别
b) int expr = 20 / 8 * 8;
答案:16
注意:整数和整数运算结果还是整数
c) int expr = 4 << 2 + 1;
答案:32
注意:+的优先级高于<<
d) int expr = -4321 >>>30;
答案:3
e) int expr = 123 ^ 321 ^ 123;
答案:321
注意;换算成int进行位运算
f) int a = 255;
int expr = (byte)a + (((byte)a) & 0xff);
答案:254
注意:byte运算的结果是int类型
g) int expr = “123454321”.charAt(4) + 2;
答案:55
注意:字符进行四则运算时是使用字符编码进行运算
h) Integer a = new Integer(1234);
Integer b = new Integer(1234);
boolean expr = a == b;
答案:false
注意:==比较的是是否指向同一内存地址
i) String func(String s){
return s.length() > 0 ? func(s.substring(1)) + s.charAt(0) : “”;
}
String expr = func(“Gameloft”);
答案:tfolemaG
注意:这是一个递归实现
2、 知识题
a) 什么是垃圾回收?什么时候触发垃圾回收?如何降低垃圾回收的触发频率?它能保证程序有足够的可用内存吗?
答案:垃圾回收(GC)是Java语言的一个重要特性,作用是释放不再被使用的内存。垃圾回收由系统进行管理。在系统认为需要的时候自动启动一个线程进行处理。
尽量减少垃圾内存,也就是新建对象,的数量,可以降低垃圾回收的频率。
垃圾回收机制无法保证有足够的内存。
b) 请写出short的取值范围。
答案:-215~215-1
c) 什么是混淆(obfuscate)?有什么好处?有哪些工具可以混淆jar文件?
答案:混淆是指通过对class文件中的变量名和部分方法名进行处理,来提高代码反编译的难度。
好处主要有2个:1、提高反编译以后代码阅读的难度 2、降低class文件的大小。
常见的混淆器有Proguard和RetroGuard两种。
d) 什么是状态机?游戏开发中有那些地方能用到状态机?
答案:状态机(State Machine)是根据对应状态进行处理的一种机制,在游戏开发中最典型的应用是游戏人工智能(AI)等地方。
e) 请根据你的知识,对以下计算机名次进行尽量简单的描述:
i. J2ME
J2ME是一种使用Java语言进行嵌入式设备开发的技术。
ii. Python
Python是一种语法简单的面对对象的程序设计语言
iii. Ant
Ant是一种简化和统一项目编译的工具软件。
iv. Javac
Javac是Java语言的编译程序
v. Subversion
Subversion是新一代的版本工具
vi. OpenGL
OpenGL是一套开发的图形界面开发库标准
f) 请列出你心目中一名优秀员工所应该具备的品质,并按重要程度排序
略
3、 分析以下程序:
const [j2me1]SCREEN_WIDTH = 176;
const [j2me2]TEXTWORD_SPACE = 3;
public static void DrawString(String strText,int posX,int posY,int flagX){
int width = GetTextWidth(strText);
int x,int [j2me3]y = posY;
if(flagX > 0){
x = 0;
}
else if(flagX == 0){
x = (SCREEN_WIDTH – width) / 2;
}
else{
x = SCREEN_WIDTH – width;
}
x += posX;
byte [j2me4]charTemp;
for(int i = 0;i <=[j2me5] strText.length();i++){
charTemp = strText.charAt(i);
if(charTemp < ‘!’ | charTemp > ‘z’){
x += TEXTWORD_SPACE;
continue;
}
x += DrawCharacter(charTemp,x,y);
}
}
问题:
1) 请尽量找出程序中的错误,直接标注在上面。
2) 请解释参数flagX的作用
flagX的作用是决定对齐方式,大于0左对齐,等于0居中,小于0右对齐
3) 请推测函数DrawCharater的返回值有什么意义?
字符charTemp的宽度
4、 应用题
a) 写一个函数判断两个圆是否相交,并尽量优化运行速度。
bool IsOverlapped(int x1,int y1,int r1,int x2,int y2,int r2)
/**
* 判断两个圆是否相交
* @param x1 第一个圆圆心的x坐标
* @param y1 第一个圆圆心的y坐标
* @param r1 第一个圆的半径
* @param x2 第二个圆圆心的x坐标
* @param y2 第二个圆圆心的y坐标
* @param r2 第二个圆的半径
* @return
*/
boolean IsOverlapped(int x1,int y1,int r1,int x2,int y2,int r2){
//两个圆心之间的距离的平方
int l = (x1 - x2)*(x1-x2) + (y1 - y2) * (y1 - y2);
if(l < (r1 + r2) * (r1 + r2)){
return true;
}else{
return false;
}
}
b) 写一个函数去掉一个字符串中单词间多余的空格,使得相邻两个单词间有且只有一个空格。例如当输入字符串是“Hello!_ _Game_programming_ _world!”时,调用该函数后字符串变为“Hello!_Game_programming_world!”。
/**
* 去除字符串中多余的空格
* @param s 需要处理的字符串
* @return 处理后的字符串
*/
String doString(String s){
String temp = "" + s.charAt(0);
for(int i = 1;i < s.length();i++){
char c = s.charAt(i);
//如果当前字符是空格
if(c == ' '){
//判断前一个不是是空格则添加,否则不添加
if(s.charAt(i- 1) != ' '){
temp += c;
}
}else{
temp += c;
}
}
return temp;
}
c) 假定屏幕的像素宽度为screenWidth,写一个函数计算一个字符串需要分成几行显示。
要求:
1、每行应尽可能多地显示字符,但不能有字符部分或完全显示在屏幕外。超过部分的字符换下一行显示。
2、每个字符的像素宽度不一样,每个字符的像素宽度不一样。用int GetCharWidth(char c)获得每个字符的像素宽度。
/*
* 计算一个字符串可以分多少行进行显示
* @param s 原始字符串
* @param screenWidth 屏幕宽度
* @return 行数
*/
int calcLineNum(String s,int screenWidth){
int length = 0;
//行数
int n = 0;
//统计长度
for(int i = 0;i < s.length();i++){
//当前字符的宽度
int charLen = GetCharWidth(s.charAt(i));
//总长度增加
length += charLen;
//如果达到屏幕宽度
if(length > screenWidth){
n++; //行数+1
length = charLen; //重新计算长度
}
}
//最后一行处理
if(length > 0){
n++;
}
return n;
}
5、 把以下段落翻译成中文
a) An integral approach to code documentation is to write the code so that it documents itself.In other words,the code should be naturally readable in such a way as to make it easy to understand .This is accomplished by proper naming conventions and statement formatting.
一份完整的代码文档是编写可以说明自身的代码。换句话说,代码应该是可读性好,便于理解的,这些是由恰当的命名规则和语句格式实现的。
b) Collections are the data structures that are most easily altered for performance-tuning purposes. Using the correct or most appropriate collection class can improve performance with little change to code. For example, if a large ordered collection has elements frequently deleted or inserted throughout it, it usually can provide better performance if based on a linked list rather than an array. On the other hand, a static(unchanging) collection that needs to be accessed by index performs better with an underlying implementation that is an array.
集合是为了性能调整目的很容易进行更改的数据结构,使用恰当的集合类可以在对代码进行很小更改的前提下改变程序的性能。例如如果有一个需要经常添加和删除的有序集合,使用链表可以比数组提供更好的性能,在另一方面,一个需要通过索引进行访问的静态集合,使用数组实现将更好一些。[j2me1]final static int
[j2me2]final static int
[j2me3]删除int
[j2me4]char
[j2me5]去掉=号
发表评论
-
DLL中导出函数的声明有两种方式:
2012-11-12 16:42 1872DLL中导出函数的声明有两种方式: 一种方式是:在函数声明中 ... -
k-means算法的C++实现
2011-04-05 11:38 2348k-means算法的C++实现: http://www.ku ... -
main()中的参数
2010-10-31 10:41 1545所有的应用程序都是从以main函数作为入口, 而mai ... -
static作用
2010-10-26 19:15 2397转自(from http://www.cnb ... -
mmap函数
2010-10-25 22:41 1918mmap函数的使用方法 UNIX ... -
C语言中三种内存分配方式
2010-10-25 20:23 01.malloc 原型:extern void *ma ... -
位拷贝和值拷贝
2010-10-23 15:37 1607为了便于说明我们以String类为例: 首先定义String ... -
(转帖)把类的析构函数写成虚函数的用意
2010-10-23 15:10 1705#include <iostream.h> cl ... -
动态规划/贪心算法----0/1背包问题AND普通背包问题
2010-10-23 14:03 6833两个背包问题都是比较典型的问题,对这两种算法的理解有很好的帮助 ... -
netstat, nslookup, finger, ping命令
2010-10-22 17:13 1546Netstat用于显示与IP、TCP ... -
C++返回值
2010-10-22 16:53 1558C++函数返回值: (1)正常情况下,函数的参数要复制一份在 ... -
switch语句后的表达式的值
2010-10-22 16:23 1850一般格式: switch (表达式) { case 常量 ... -
C++四种强制类型转换
2010-10-19 11:45 1583显式类型转换又被称之 ... -
C++四种强制类型转化的区别
2010-10-19 11:43 1363先介绍const_cast和reinterpret_cast: ... -
Visual C++线程同步技术剖析:临界区,时间,信号量,互斥量
2010-10-18 14:24 1838使线程同步 在程序中使用多线程时,一般很少有多个线程能在其 ... -
(转)临界区,互斥量,信号量,事件的区别
2010-10-18 14:22 1778四种进程或线程同步互斥的控制方法1、临界区:通过对多线程的串行 ... -
(转)在C++中实现同步锁,类似synchronize(object){....}
2010-10-18 13:49 1890在做C++的项目中发现, ... -
C++线程同步
2010-10-18 13:46 1624线程同步是多 ... -
C++多线程编程
2010-10-18 10:56 1759今天我给大家讲一讲C++ ... -
关于C++对函数传参与函数返回值进行引用传递的详解
2010-10-16 22:51 4069关于C++对函数传参与函数返回值进行引用传递的详解 ...
相关推荐
以下是一些可能在GameLoft面试中出现的知识点,结合描述中的"GameLoft面试题目(含答案)",我们可以推测这些文档可能包含了这些问题及其解答。 1. **Java基础知识**:GameLoft作为游戏开发商,可能会考察应聘者的...
【GameLoft面试题目解析】 1. 代码执行题 a) `int expr = a++%++b*2;` 答案:6 在这个表达式中,`++b` 先自增,变为5,然后 `a++` 后自增,先计算 `a%b` 得到2,再将a加1。接着乘以2得到6。 b) `int expr = 20 / ...
【gameloft(智乐)面试题】是针对游戏开发巨头——Gameloft公司的一系列求职测试题目。Gameloft是全球领先的移动游戏开发商之一,以其高质量的游戏产品和丰富的游戏库而闻名。对于想要进入这家公司的求职者来说,了解...
【标题】"gameloft 游戏集(nokia)" 涉及的主要知识点是游戏开发商 Gameloft 为诺基亚手机平台开发的经典游戏集合。Gameloft 是一家国际知名的游戏开发公司,以其高质量的移动游戏而闻名,尤其在功能手机时代,...
在IT行业中,手机游戏开发是其中一个非常活跃的领域,尤其对于知名的游戏开发商 Gameloft 来说,他们为全球玩家提供了无数精彩的游戏体验。"gameloft车类游戏大全"这个主题聚焦于 Gameloft 出品的以汽车为主题的手机...
【标题】"gameloft精灵编辑器"是一个专用于游戏开发的工具,由著名的游戏公司Gameloft开发。在游戏行业中,“精灵”通常指的是2D游戏中的静态或动态图像,它们是游戏场景的重要组成部分,包括角色、物品、背景等元素...
Gameloft是一家开发和发行基于移动设备的视频游戏的跨国公司,其总部位于法国,分公司遍布全球。其股票在欧洲证券交易所(原为巴黎证券交易所)挂牌。是UBI SOFT集团旗下的专业游戏软件公司。目前在10个国家有分支...
本篇文章将深入解析GameLoft全国三个工作室的C++面试题,旨在帮助求职者更好地准备面试,理解并掌握C++编程的核心知识点。 1. **C++基础知识** - **变量与数据类型**:理解基本数据类型如int、float、char等,以及...
gameloft instuction.
在Gameloft的笔试中,可能会有题目要求你模拟用户操作,检查功能是否正常。 2. 性能测试:关注游戏运行时的性能表现,如帧率、内存占用、加载速度等。测试者需要理解不同平台的性能指标,例如在移动设备上,优化...
【gameloft c++笔试题】是一场针对C++编程能力的测试,涵盖了语言基础、程序优化、类的...这些题目旨在检验应聘者的C++基础知识、程序设计技巧和问题解决能力,是游戏开发公司gameloft评估候选人技术水平的重要环节。
在准备Gameloft的笔试时,你需要对编程基础知识有扎实的理解,尤其是Java语言。以下是根据提供的题目内容解析的相关知识点: 1. **字符串处理**: - `String.trim()` 方法用于去除字符串两端的空白字符。不使用该...
【gameloft C/C++ 笔试题 2011年】是一份针对C和C++编程语言的面试或笔试题目集,旨在测试应聘者的基础知识和编程能力。这份试卷涵盖了一系列核心概念,包括类型转换、内联函数、内存分配、参数传递、对象构造与析构...
完全兼容GameLoft动画编辑器,输出数据为XML格式,所以解析类用你之前的就可以 可直接替换之前你所用的GameLoft动画编辑器,动作生成GIF文件,方便沟通交流,在拼接动画时做了人性化的修改,多图块反转,对齐方式等 ...
gameloft的测试用例
### Gameloft(智乐软件)游戏测试面试笔试题解析 #### 1. 表达式计算 - **a)** `int expr = a++ % ++b * 2 + 6;` 其中 `a = 8`, `b = 4`。 - 解析:首先进行 `++b` 操作,`b` 变为 `5`;然后 `a++` 使得 `a` 的值...
GAMELOFT内部手机游戏通用检测标准