Show pagesourceOld revisionsBacklinksExport to PDFBack to top Share on ... Twitter LinkedIn Facebook Table of Contents Android Developer Interview Basic Question 1 Android Question 2 Question 3 Question 4 Question 5 Question 6 Android Developer Interview Basic Question 1 Suppose you have a v-shape array, e.g [1, 12, 31, 44, 51, 54, 23, 22, 10]. How to find the maximum value in a v-shape array? 假如我们有一个v-shape数组,如[1, 12, 31, 44, 51, 54, 23, 22, 10]。怎样找出它的最大值? Android Question 2 Describe three common use cases for using an Intent. 请说出 Intent 三个常用案例。 Question 3 Under what condition could the code sample below crash your application? How would you modify the code to avoid this potential problem? Explain your answer. 在什麽情况下以下代码会崩溃?你可以怎样避免?请解释。 Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage); sendIntent.setType(HTTP.PLAIN_TEXT_TYPE); // "text/plain" MIME type startActivity(sendIntent); Question 4 What is the relationship between the life cycle of an AsyncTask and an Activity? What problems can this result in? How can these problems be avoided? AsyncTask 和 Activity 的生命周期有什麽関系?这个関系有可能导致什麽问题?你可以如何避免? Question 5 What is difference between Serializable and Parcelable ? Which is best approach in Android ? Serializable 和 Parcelable 有什麽分别?那一个在安卓使用比较好? Question 6 Write down the log results at 4 different cases Start MainActivity Invoke onClick() at MainActivity User press back button from ActivityTwo Start ActivityThree 我们有以下三段代码,请分别写下以下四种执行后log的结果 开始MainActivity 触发onClick() at MainActivity 用户在ActivityTwo按back button 开始ActivityThree public class MainActivity extends Activity implements OnClickListener { final String TAG = "States"; Button btnActTwo; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnActTwo = (Button) findViewById(R.id.btnActTwo); btnActTwo.setOnClickListener(this); Log.d(TAG, "MainActivity: onCreate()"); } @Override protected void onRestart() { super.onRestart(); Log.d(TAG, "MainActivity: onRestart()"); } @Override protected void onStart() { super.onStart(); Log.d(TAG, "MainActivity: onStart()"); } @Override protected void onResume() { super.onResume(); Log.d(TAG, "MainActivity: onResume()"); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "MainActivity: onPause()"); } @Override protected void onStop() { super.onStop(); Log.d(TAG, "MainActivity: onStop()"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG, "MainActivity: onDestroy()"); } @Override public void onClick(View v) { Intent intent = new Intent(this, ActivityTwo.class); startActivity(intent); } } public class ActivityTwo extends Activity { final String TAG = "States"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.two); Log.d(TAG, "ActivityTwo: onCreate()"); } @Override protected void onRestart() { super.onRestart(); Log.d(TAG, "ActivityTwo: onRestart()"); } @Override protected void onStart() { super.onStart(); Log.d(TAG, "ActivityTwo: onStart()"); } @Override protected void onResume() { super.onResume(); Log.d(TAG, "ActivityTwo: onResume()"); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "ActivityTwo: onPause()"); } @Override protected void onStop() { super.onStop(); Log.d(TAG, "ActivityTwo: onStop()"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG, "ActivityTwo: onDestroy()"); } } public class ActivityThree extends Activity { final String TAG = "States"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.three); Log.d(TAG, "ActivityThree: onCreate()"); this.finish(); } @Override protected void onRestart() { super.onRestart(); Log.d(TAG, "ActivityThree: onRestart()"); } @Override protected void onStart() { super.onStart(); Log.d(TAG, "ActivityThree: onStart()"); } @Override protected void onResume() { super.onResume(); Log.d(TAG, "ActivityThree: onResume()"); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "ActivityThree: onPause()"); } @Override protected void onStop() { super.onStop(); Log.d(TAG, "ActivityThree: onStop()"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG, "ActivityThree: onDestroy()"); } } interview/developer/android/start.txt Last modified: 2019/07/28 15:36by don.lee