Android Interview
01 Jul 2013Interview Questions Collection
- careercup,There is an accompany book: “Cracking the Coding Interview: 150 Programming Questions and Solutions” by Gayle Laakmann McDowell
- Cracking the coding interview–问题与解答
- Quora:Java Interview Questions. A collection of java interview questions on quora.
Java Resources
- Qura: What questions are Java Software Engineers seeing the most of on technical interviews?
- Qura: [What are good interview questions to ask JAVA developers?] (http://www.quora.com/Java-programming-language/What-are-good-interview-questions-to-ask-JAVA-developers)
- Java puzzlers by Joshua Bloch. RECOMMENDED FOR SENIOR JAVA DEVELOPERS.
- Effective Java by Joshua Bloch. RECOMMENDED FOR ADVANCED JUNIOR JAVA DEVELOPERS.
- Java Concurrency in Practice by Tim Peierls, Brian Goetz, Joshua Bloch, Joseph Bowbeer, Doug Lea, David Holmes. RECOMMENDED FOR SERVER DEVELOPERS.
- Inside the Java Virtual Machine by Bill Venners. Online book available.
- Books Related to the JVM, a list of jvm books.
- Thinking in Java by Bruce Eckel. JAVA 101
- The Java Job Interview Companion
- Quora: What are good books to test one’s programming skills?
- Wiki:List of data structures
- Wiki:List of algorithms
- Programming Interviews Exposed: Secrets to Landing Your Next Job
- Coding Interviews By Harre He . A Press
- Cracking the coding interview by Gayle as mentioned in other posts
- Algorithms For Interviews (9781453792995): Adnan Aziz, Amit Prakash: Books
- Programming Challenges by Steven Skiena
- Elements of Programming Interviews.
- Cracking the Coding Interview: 150 Programming Questions and Solutions
- Cracking The IT Interview 2nd Edition -
- Data Structures and Algorithms Made Easy 2nd Edition - I strongly recommend this book
- Cracking the C, C++ and Java Interview 1st Edition -
- Test your C Skills - Yashwant Kanetkar
- Test your C ++ Skills - Yashwant Kanetkar
- Exploring C - Yashwant Kanetkar
- Test Your Unix skills - Yashwant Kanetkar
- Top 15 Java threading interview questions asked in Investment banks
- 有道难题
I mostly agree with John Kurlak’s answer. Personally I feel Cracking the Coding Interview: 150 Programming Questions and Solutions is a good choice if you only know Java. Programming Interviews Exposed is a little elementary and the materials actually need to be updated. Elements of Programming Interviews: 300 Questions and Solutions seems for people who actually want to pass all interviews including the hardest one after concluding all reviews on Amazon, and it is mainly written in C++ which makes this as a great choice for people who can understand on C++.
Sample Questions
- Card Shuffle
- http://www.cs.swarthmore.edu/~newhall/cs21/s05/Homework/hw07.html
- The Danger of Naïveté
- Java™ Puzzlers: Traps, Pitfalls, and Corner Cases Puzzle 94: Lost in the Shuffle
The following shuffle method purports to shuffle its input array fairly. In other words, it purports to generate all permutations with equal likelihood, assuming that the underlying pseudorandom number generator is fair. Does it make good on its promise? If not, how do you fix it?
import java.util.Random;
public class Shuffle {
private static Random rnd = new Random();
public static void shuffle(Object[] a) {
for (int i = 0; i < a.length; i++)
swap(a, i, rnd.nextInt(a.length));
}
private static void swap(Object[] a, int i, int j) {
Object tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
- Java™ Puzzlers: Traps, Pitfalls, and Corner Cases Puzzle 45: Exhausting Workout
This puzzle tests your knowledge of recursion. What does this program do?
public class Workout {
public static void main(String[] args) {
workHard();
System.out.println("It's nap time.");
}
private static void workHard() {
try {
workHard();
} finally {
workHard();
}
}
}
-
Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.
-
Clock puzzles - find the angle between hr,min,sec handles, etc
- From Twitter http://qandwhat.apps.runkite.com/i-failed-a-twitter-interview/
"Consider the following picture:"
"In this picture we have walls of different heights. This picture is represented by an array of integers, where the value at each index is the height of the wall. The picture above is represented with an array as [2,5,1,2,3,4,7,7,6]."
"Now imagine it rains. How much water is going to be accumulated in puddles between walls?"
"We count volume in square blocks of 1X1. So in the picture above, everything to the left of index 1 spills out. Water to the right of index 7 also spills out. We are left with a puddle between 1 and 6 and the volume is 10."
Online Tests
- Test For Geeks, including java and android tests. Extremely challenging.
- Fizz Buzz Test
- Brainbench test
Fields
- Java Collection
- Multi Threading
- GC
- Design Patterns
- Algorithms
- Data Structure
Discussion
TODOS
- @知乎 如何面试android 工程师? 从哪些方面考察?
- 面试题库
- 技术
- 重构,
- 算法
- 数据结构
- 操作系统
- 能力
- 开放式思维
- 知乎: 如何面试 Android 工程师?
- 面试官如何写面试反馈?
- 整理一个PPT 出来, 分topic 出面试题, 做分享
- 整理知乎上的相关java / android 面试题
Android 面试题
- Android 中线程与线程,进程与进程之间如何通信?
- 解释 Binder 原理, 进程间通信
- activity,intent 和 service 是什么关系?
- handler 机制的原理是什么?
- 横竖屏切换时候 activity 的生命周期?
- 解释View 绘制过程
- 瀑布流如何回收资源
- 常用的Android 开源库有哪些, 如何选择?挑一个谈谈优缺点,如何改进?
- 什么情况下会出现ANR, 怎么找到原因, 如何解决?
- 起了很多线程, UI线程阻塞
- 后台线程, Service
- 异步线程
- listview 优化