去一家作手机map和导航公司面试被问到的一些问题。

  昨天去了一家做手机map的公司去面试,大体上是用Android开发。到了公司后先让我填写了一份职位申请表,拿到表格后有种似曾相识的感觉,貌似以前在另外一家公司见过同样的职位申请表,呵呵。填完表后就是照例笔试答题了。题目还算不少,都是java相关的,比较基础。记得题目全是中文提问的,但面试的是一家美资公司(至少全英文工作环境,manager也说自己的公司是纯美资),还是努力用英文答了。答完题后HR来和我聊了聊,都是一些个人的基本事项,然后让我简单说了几句英语,呵呵。

  先列举一些笔试的题目吧,请各位也看看,如果是你们会怎么答,如果你们是面试官希望要什么样的答案。

  简答题:
  1. 什么是GC,GC的作用是什么?
  2. 同步和异步的区别,什么时候用同步,什么时候用异步,各有什么好处?请举例说明。
  3. 线程的实现方式有几种?各是什么?同步的实现方式有几种?各是什么?
  4. Java中有几种流,请举例各种流的抽象类。
  编程题:
  1. 编写你知道的单例模式的实现方式。
  2. 编写四个线程,2两个对j加一,2个对j减一。
  3. 编写一个Socket,接受一些服务器端的字符,并打印显示在本地。


  面对面的面试时,面试官很好也很礼貌。针对我笔试的答案一些不足问了几个问题,还很客气的说这不是考试,只要你知道就可以,写不全也没关系。然后问一个类似数据结构的问题‘循环队列’,让我现场实现一下。哎,惭愧呀,数据结构的东西都忘记的差不多了,面试官还给我讲了一下什么是‘循环队列’,但是自己编写的时候漏洞百出,感觉这个答的不好。确实长时间的外包工作,把一些基本的思维方式都忘记了,准备回家好好看看java版的数据结构。
  第二个面试官问了MVC的模式,让我针对一个图书订阅系统简单设计一下,需要几个M 几个V 几个C,交互的M的地方如何处理。还问了抽象工程模式是什么,举了一个汇率的例子问我是否可以用抽象工厂。然后问的是引用有几种,什么时候用弱引用。最后记得问了一个如果A对象里有B B里有C C里有D D里有E E里有B,这时如说把A设置为null,B C D E会被垃圾回收吗?为什么,这块内存最终会怎么样?

以上就是我这次的面试经历,个人感觉笔试题答的还可以,面对面的面试时都是按照自己的理解回答了,呵呵。现在回去等结果,不知道会怎么样。列举的题目请各位一起讨论。

你可能感兴趣的:(设计模式,数据结构,编程,android,面试)