7.15首次安卓面试

来源:互联网 发布:淘宝开店所需资料 编辑:程序博客网 时间:2024/04/30 05:00

    说来惭愧,首次面试其实只是牛客网举办的一个活动,是模拟面试,我也只是想体验一下被面试的感觉。虽然自己六月份的时候也去应聘过安卓开发的岗位,自己满心期待的去面试了,结果面试官不懂技术,也就没有达到自己想要的效果。

    说说昨天的面试吧,我应聘的是安卓开发岗位。

    一般情况下面试都是先让做个自我介绍,但是我一紧张,脑子一片空白,就说了一下自己的名字和来自哪个学校,就不知道说啥了。面试官看我挺紧张的,也就直接进行下一项了。问我做过什么项目,我说一个是天气预报,另一个是学生信息管理系统,都是我自己写的小项目,面试官就问我,学生信息管理系统肯定会涉及服务器方面的东西,你是怎么解决的。我回答说,我是用的Mob的API来存储客户端的数据的。面试官接下来又问我Java方面的问题,先问了一下Java的三大特性。我脑子瞬间懵逼,只说出来了,封装和多态。真的是很尴尬,都不好意思说出来自己是搞安卓的了。然后面试官又问我你是怎么理解封装的?我回答说,封装就是把A类的属性设置为私有,让其它的类仅能通过A类的方法去操作A类的属性。接着问了我是如何理解面向对象的,我回答说,面向对象,就是把所有事物都当成对象去看待,把事物固有属性和行为提炼出来,当作一个类的属性和方法。接着问了我,equal和==的区别,这一点我没答对。又问了我关于多态方面的知识,运行时的多态是如何实现的,我也没答上来。面试官就问我你们都学过什么课程,我回答说,数据结构、操作系统、计算机网络。面试官就依次问了我这几个的方面问题,数据结构是什么,我回答说就是文件在计算机存储的逻辑结构(当时没想到没这么说,不过意思差不多),接着问了我栈和队列的特点。还问了我知道广度遍历和深度遍历吗,分别是用什么实现的,是栈还是队列。我想了想,觉得广度遍历符合队列的特点,先进先出嘛,就回答了广度遍历用队列实现的。问我为什么,当时自己也没有想出来怎么回答就说了不知道。。。然后问了我知道各种排序算法的时间复杂度吗,我说这个我没记过。(尴尬)接着问了问我知道哪些排序算法,我说了个二分(也不知道自己的脑子当时怎么了),面试官就说二分是查找,不是排序,那咱们聊聊二分吧,你跟我叙述一遍二分查找。我就大概叙述了一下核心代码。接着又问我一些操作系统,线程和进程的区别,我回答说线程就是轻型进程,线程占用的资源比较少。(想想自己的这次面试也是挺菜的)又问我一些计算机的基本常识,我还都答出来了,最后问了我,服务器吞吐量减小了,你觉得会是哪几个方面的问题。我说了死锁,因为死锁也会占用大量资源,面试官说你可以试着从其它方面想一下,我想了一会还是没想出来。现在想想cpu调用次数过高也会导致吞吐量下降吧。然后又问了我计算机网络方面的知识,说一下tcp和udp之间的区别。我说了一下tcp是有连接的,udp是无连接的。tcp比udp安全。还问了tcp是如何保证可靠传输的,我说出来了超时重传。差不多也就是这么多东西吧。最后想给我总结一下这次面试来着,结果网断了,就不了了之了。

    不过这次面试最重要的是让我意识到自己的不足,感谢牛客网组织的模拟面试,谢谢面试官。


总结一下面试内容:

Java:

三大特性,面向对象,基础知识点。

数据结构:

各种结构的特点,各种排序查找算法复杂度。掌握核心代码。

操作系统:

基础知识点,线程进程区别。

计算机网络:

网络模型和各种协议。

原创粉丝点击