Android工程师笔试常见的10个NDK与游戏开发简答题

maiziedu · 2015-10-14 09:11:47 · 4163 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2015-10-14 09:11:47 的主题,其中的信息可能已经有所发展或是发生改变。

t014ccdb2f015c81abf.jpg

  应聘软件开发的工作,一般都会有面试和笔试两个环节,Android开发工程师的的应聘也是如此。今天小编就将为大家整理10道有关NDK与游戏开发的简答题及答案,希望对求职Android工程师的童鞋有所帮助。

  1、 Paint类有哪些常用方法?

  void setARGB(int a, int r, int g, int b) 设置Paint对象颜色,参数一为alpha透明通道

  void setAlpha(int a) 设置alpha不透明度,范围为0~255

  void setAntiAlias(boolean aa) //是否抗锯齿

  void setColor(int color) //设置颜色,这里Android内部定义的有Color类包含了一些常见颜色定义

  void setFakeBoldText(boolean fakeBoldText) //设置伪粗体文本

  void setLinearText(boolean linearText) //设置线性文本

  PathEffect setPathEffect(PathEffect effect) //设置路径效果

  Rasterizer setRasterizer(Rasterizer rasterizer) //设置光栅化
    Shader setShader(Shader shader) //设置阴影

  void setTextAlign(Paint.Align align) //设置文本对齐

  void setTextScaleX(float scaleX) //设置文本缩放倍数,1.0f为原始

  void setTextSize(float textSize) //设置字体大小

  Typeface setTypeface(Typeface typeface) //设置字体,Typeface包含了字体的类型,粗细,还有倾斜、颜色等。

  void setUnderlineText(boolean underlineText) //设置下划线

  2、游戏中对数据保存的方法有哪几种,简单讲解下?

    在Android开发中,常用的对游戏中数据的保存方式主要有以下四种:

   1)SharedPreference 此保存方式试用于简单数据的保存,文如其名属于配置性质的保存,不适合数据比较大的保存方式。

  2)文件存储 (FIleInputStream/FileOutputStream) 此保存方式比较适合游戏的保存和使用,可以保存较大的数据,因为相对于SQLite来说更容易让大家接受,此方式不仅能把数据存储在系统中也能将数据保存到SDcard中。

  3)SQLite 此保存方式比较适合游戏的保存和使用,可以保存较大的数据,并且可以将自己的数据存储到文件系统或者数据库当中,也可以将自己的数据存储到SQLite数据库当中,也能将数据保存到SDcard中;

  4)ContentProvider (不推荐用于游戏保存) 此保存方式不推荐用于游戏保存,因为此方式不仅能存储较大数据,还支持多个程序之间就的数据进行交换。   

  3、SharedPreference储存数据的优缺点?

  优点: 简单、方便、适合简单数据的快速保存 

  缺点:

  1)存数的文件只能在同一包内使用,不能在不同包之间使用! 。

  2)默认将数据存放在系统路径下 /data/data/com.himi/ ,没有找到放SD卡上的方法。

  总结:其实本保存方式如同它的名字一样是个配置保存,虽然方便,但只适合存储比较简单的数据!

  4、文件存储数据的优点?

  1)适合游戏存储,能存储较大数据;

  2)不仅能存储到系统中,也能存储到SD卡中。      5、View, surfaceView, GLSurfaceView有什么区别?

  view是最基础的,必须在UI主线程内更新画面,速度较慢。

  SurfaceView是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view快。   GLSurfaceView是SurfaceView的子类,opengl 专用的。

  6、10个常用linux命令?

  1)cd目录名

  2)vi 文件名

  3)rm [选项] 文件列表

  4)cat [选项]文件列表(如:cat userinfo.xml)

  5)cp[选项] 源文件目标文件

  6)find目录列表匹配标准

  7)grep [选项] 正则表达式文件列表

  8)ls [选项] [文件列表](如:ls)

  9)more [选项] 文件名

  10)who [选项] utmp式的文件

  7、dp和 px转换关系?  

  px = dp*(dpi/160)

  QVGA: density=0.75 densityDpi=120 QVGA(240*320) (Quarter:1/4)

  HVGA:density=1.0 densityDpi=160 HVGA(320*480) (Half:1/2)

  VGA:density=1.0 densityDpi=160 VGA(480*640)

  WVGA:density = 1.5 densityDpi=240 WVGA(480*800) (Wide)

  WQVGA:density=2.0 densityDpi=120 WQVGA(240*400)(Wide Quarter)

  dip值表示每英寸有多少个显示点(像素密度)。当densityDip=160时,1dp=1px。

  8、Android SDK 下的常用工具有哪些 ?

  platform-tools目录下常用的工具有:

  aapt、adb、dx、aidl

  tools目录下常用的工具有:

  android、apkbuilder、ddms、draw9patch、emulator、mksdcard、sqlite3

  9、产生死锁的条件有哪些?

  1)相互排斥:一个线程或者进程永远占有共享资源,例如,独占该资源。

  2)循环等待:进程A等待进程B,而后者又在等待进程C,而进程C又在等待进程A。

  3)部分分配:资源被部分分配,例如,进程A和B都需要访问一个文件,并且都要用到打印机,进程A获得了文件资源,进程B获得了打印机资源,但是两个进程不能获得全部的资源。

  4)缺少优先权:一个进程访问了某个资源,但是一直不释放该资源,即使该进程处于阻塞状态。

  10、如何适配不同分辨率、不同语言环境?

  分辨率:

  drawable-hdpi/ldpi/mdpi/xhdpi/xxhdpi/640×360(图片分辨率适配)

  values-sw600dp/v11/640×360(dimen.xml适配尺寸下的资源)

  注:-sw[N]dp:要求N小于你的屏幕高度或宽度二者中的最小值。

  layout-land/port/hdpi/large/640×360(横竖屏、布局文件分辨率适配)

  语言环境:

  values-en-rUS/-zh-rCN

以上就是Android开发工程师笔试题中比较常见的的有关NDK与游戏开发的简答题,分享给大家,希望对大家笔试有所帮助。最后也祝愿所有的童鞋顺利通过,走上Android开发岗位。

相关文章:《安卓源码如何在eclipse中显示?》http://www.maiziedu.com/group/article/5609/


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4163 次点击  
加入收藏 微博
1 回复  |  直到 2015-10-14 09:23:07
qkb_75_go
qkb_75_go · #1 · 9年之前

如果 用人单位,仅仅靠 考这种 百度一下一大堆 的东西来筛选人的话, 怎么挑到 人才呢? 短期记忆能力比较好的话,三天全背会;到工作真正用到时,能剩多少?

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传