[试题] 103上 廖世伟 Android平台及其Big Data后台 期中考

楼主: rod24574575 (天然呆)   2015-06-15 11:21:29
课程名称︰Android平台及其Big Data后台
课程性质︰选修
课程教师:廖世伟
开课学院:电资学院
开课系所︰资工所
考试日期(年月日)︰2014.11.14
考试时限(分钟):
试题 :
Android Platform Backed by BigData Analytics
‧ Please mark the number of the question you are answering clearly. On the
exam sheet, you are advised to put down questions' answers in order. The
full score is 125-point.
- Big Data [6%]: (Note that we'll focus on Big Data on in November and
December.)
a. [6%] What are the 3 Vs of Big Data?
- Vitrual Machine [10%]:
a. [5%] Please draw a diagram to show the path of JIT and interpreter. Note
that the decision of hot path is important in this diagram.
b. [2%] What is the difference between Emulation and Simulation?
c. [3%] Why does Intel have to make libhoudini(binary translation)?
- Android VM [22%]:
a. [3%] What does AOT stand for? What does AOT do?
b. [4%] What's ART stand for? What's ART's approach: AOT, JIT, or Hybrid?
c. [8%] Compare the tradeoffs of 2 kinds of Android VM design approaches
that go beyond Dalvik JIT:
i. AOT approach that doesn't even have -O1, -O2., and that has size
explosion.
ii. JIT approach: Improve Dalvik JIT. Make it method-based and DPGO
(Dynamic Profile-Guided Optimization.)
d. [7%] Microsoft's .NET got opened source on 2014/11/13. .NET has AOT for
framework, but for applications .NET doesn't use AOT. Critique
Microsoft's approach.
- Low-Level Virtual Machine [22%]:
a. [10%] Please explain the reason why we added Low-Level Virtual Machine
into Android at Google.
b. [5%] How does this alleviate Android's fragmentation problem?
c. [5%] How does this one-level of indirection (or abstraction) allow each
device (including HTC phones and Samsung tablets) to differentiate
against Google's reference implementation in AOSP (Android Open Source
Project)?
d. [2%] What's the name of the abstraction above?
- Android programming [12%]:
a. [4%] In Android source code, there are 3 main programming languages
building up the whole system. What are these three?
b. [4%] What is the benefit for developers to develop in this system mainly
built up by 3 programming languages?
c. [4%] Regarding that language on Android that requires a virtual machine,
why was Dalvik virtual machine (instead of using an existing virtual
machine) created to do that?
- Android framework [32%]:
a. [5%] We can categorize Android components into the following 4 types:
1. Activity
2. Service
3. Content Provider
4. Broadcast Receiver.
Consider a scenario that a user is using a communication App. First, the
user starts the app and enters the first display surface. Then, the user
reads previous messages which are stored in local SQLite database.
Finally, a notification from his friend is received by the Android
system and the app responds accordingly. Please show the order of the
4 components used in this scenario.
b. [5%] What is the role played by Binder in Android?
c. [7%] Both binder and JNI can call function which was written in native
code. What is the difference between JNI and binder? And what is
marshalling?
d. [3%] What is Zygote in android?
e. [12%] Consider the following Android source code. Explain how the static
field used to re-generate object works.
┌──────────────────────────────────┐
│import android.os.Parcel; import android.os.Parcelable; │
│public class User implements Parcelable { │
│... │
│public static final Parcelable.Creator<User> CREATOR = │
│new Parcelable.Creator<User>() { │
│ public User createFromParcel(Parcel pc) { return new User(pc); }│
│ public User[] newArray(int size) { return new User[size]; } │
│}; │
└──────────────────────────────────┘
- Hands-on (Testing whether you did the homework) [21%]:
a. [4%] When you want to build all of the modules in the current directory,
but not their dependencies, what command would you use?
a) make b) mm c) mmm d) m
b. [4%] Briefly describe the relationship between service and ServiceManager
in android framework.
c. [13%] Describe how command "dumpsys" works with Android framework
internally. (Hint: at least mention checkService() method and IBinder)

Links booklink

Contact Us: admin [ a t ] ucptt.com