精華區beta NTU-Exam 關於我們 聯絡資訊
課程名稱︰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) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.74.155 ※ 文章網址: https://www.ptt.cc/bbs/NTU-Exam/M.1434338498.A.44B.html