今天是第一次面试,面试的是长沙一家规模并不是很大的一家公司。因为这公司有一个Android项目急需人手,抱着试一把的心态懵懵懂懂的来到了面试现场。
面试官是三位,两位老总一位主管,在等待面试的间隙,心里很忐忑,可能是对自己的技术不是很有信心吧。因为公司非常有针对性,只是希望招聘Android方面的开发师,恰好自己的Android知识相对的缺乏一点。
我是第二个进入面试室的,一站在面试官面前,随着聊天的深入,紧张感慢慢的消除了很多。刚入座是自我介绍。把自己的基本信息介绍了一遍,这不是重点。
慢慢的面试官开始往技术方面问答,技术方面其实主要分为几大块,一是Android基本知识,二是网络交互方面。
Android:
问题一:介绍自己之前做的一个音乐播放器。
音乐播放器在技术上是集中在Activity方面,其中一个问题是:怎么处理界面混乱的情况,当时可能确实也是没怎么接触,心里又有稍许紧张,感觉对这个问题回答的不是很好,最后还是由面试官提醒的是由ActivityManager这一个类来处理的。
问题二:五大布局中FrameLayout和TableLayout的使用。
这两个布局是自己平时最少用的,当时自己只能顺着自己的感觉说了点,也不知道说的对不对。
问题三:Android四大天王用的最多的是哪一个?怎么用的?
我当时回答的是,从使用的最多的这一方面来说,肯定要属Activity了,因为只要涉及到Android开发,基本都得涉及到Activity的使用。至于怎么用的,考官的具体又深入到自定义组件的使用。这个我倒是可以说一说,因为之前也做过一些自定义适配器的使用,以及一些自定义按钮的美化。
问题四:Android数据存储的四种方式了解吗?
这个问题对于我来说可能是最陌生的一个问题。因为当时可能没有理解考官问问题的意思,理解错误了。所以到最后也没有答出来。
现在来回答这个问题吧。Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。
SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteDatabase的类,封装了一些操作数据库的API。
SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。
File: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。
ContentProvider: Android系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content Provider都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。
网络交互:
问题一:音乐播放器下拉刷新从网络上获取歌曲怎么实现?
这个问题也是比较头疼的,就目前的情况来说,我自己的情况确实还没有好好掌握这一知识点。其实ActionBar-PullToRefresh提供了一种简单的方法来在您的应用程序中添加实现一个现代版的下拉来刷新交互。
问题二:解析XML和json对象的区别?
这个区别直观的来说,json对象会简单一点。json是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于Javascript Programming Language。而xml实质上其实就是符合了很多规范的txt文件。在解析上相较json而言,更有难度,也比较容易缺损文件。
以上就是这次面试的一些基本问题,还有一些技术之外的问题,比如现在Android的最新版本是多少?现在最新的版本是4.4。由谷歌推出,但是没有开发布会,所以考官问这个问题是想了解你对该方面的关注度吧!
总结一下吧,这次面试因为该公司比较有针对性,所以关于技术问题都集中在Android方面。就自己而言,确实这方面的基础知识还不是太牢靠,像五大布局,四大天王等方面自己只注重了平常自己用的知识,像用的比较少的方面,FramLayout和TableLayout,以及BroadCast Recevicer/Content provider的使用则缺少了一个明确的了解。所以今后还是得加强基础知识的加强。这次算是一次历练吧,从好的方面想,毕竟现在还只是大三第一学期,以后的机会还很多。不过,从紧迫感来说,确实时间也很紧迫了,明年有实习了。
加油!任重道远.......
分享到:
相关推荐
Android开发工程师面试题是针对Android初级开发程序员的笔试和面试指南,涵盖了Java基础、Java Web、Oracle数据库以及Android四大技术领域的问题。本书旨在帮助求职者在面试前做足准备,提高通过率,最终找到满意的...
本资源包"【Android精品资源】联想Android开发工程师面试题"包含了联想公司在招聘Android开发工程师时可能涉及的面试问题,对于准备面试或者提升自身技能的开发者来说非常有价值。 首先,我们需要理解Android系统的...
"联想Android开发工程师面试题.zip" 这个标题暗示了这是一个与联想公司招聘Android开发工程师相关的面试试题集合。这类题目通常涵盖Android应用开发的基础知识、进阶技术、性能优化以及解决问题的能力等方面。 ...
【联想Android开发工程师面试题.pdf.zip】这个压缩文件包含了针对联想公司Android开发工程师职位的面试题目,这通常涵盖了Android开发的基础知识、进阶技术、实战经验以及问题解决能力等多个方面。下面将对这些可能...
【联想Android开发工程师面试题】这个压缩包文件包含了与Android开发相关的面试问题,可能是联想公司在招聘Android开发工程师时会涉及到的一些关键技术和知识点。以下是对这些关键技术和知识点的详细阐述: 1. **...
在恒盛新锐的Android前端开发工程师面试过程中,面试官可能会关注面试者对各种Web开发技术和工具的理解与熟练程度。以下是一些相关的知识点: 1. Lungo:Lungo是一款基于HTML5的开发框架,专注于跨设备应用的设计与...
### Android高级工程师面试技术点小结 在当前竞争激烈的IT行业中,成为一名优秀的Android高级工程师不仅意味着需要具备深厚的技术功底,还需要不断跟进最新的技术趋势和发展方向。本文将根据标题、描述以及部分内容...
这份资料可能涵盖了Android开发的基础到高级知识,旨在帮助应聘者准备面试。 【描述解析】 描述简单明了,"百度Android工程师面试题.zip"与标题相同,暗示内容可能直接是面试题目,没有额外的信息。不过,可以推测...
以下是一些关键的Android开发技术及其相关问题的概述: 1. **Android体系结构**:了解Android系统的组件,如Linux内核、HAL(硬件抽象层)、应用程序框架以及应用程序本身,是基础中的基础。面试可能会问到这些组件...
随着技术的不断迭代,掌握最新的Android开发知识和面试技巧至关重要。以下是一些基于标题和描述所涉及知识点的详细说明: 1. **基础知识**:面试通常会从Java或Kotlin语言基础开始,包括语法、数据类型、面向对象...
【Android工程师面试资料】 在Android工程师的面试过程中,面试官通常会从多个方面来考察候选人的技术能力,包括但不限于基础知识、编程能力、设计模式、性能优化、系统架构、框架理解和实际项目经验等。以下是一些...
在“软件工厂”背景下的Android开发工程师队伍创建是一个旨在模拟真实软件开发环境,以培养具备实战能力的Android应用开发人才的过程。这个过程包括了多个环节,从构建仿真的软件开发平台,到团队组建、课程建设和...
Android高级开发面试题 ,网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴 于此我整理了如下安卓开发高级工程师面试题以及答案帮助大家顺利进阶为高 级工程师,在当下大环境下也想为安 卓...