Android面试过程描述

Android面试过程描述


1、之前所写项目的介绍

2、android一些常见问题的问答
3、关于android平时很少用到但实则很重要的问题描述
技术分析
1自我感觉面试中比较好的方面:
1、熟悉掌握之前所写项目
2、能够及时对没有接触过的问题做出通过自己的推理做出正确的解答。
2自我感觉面试中比较不好的方面:
3、对android的基础知识了解的不是很全面。
4、知道问题的解决方式,但是不清楚原理。
5、对于android中一般不会用到的东西,认为不重要,所以并没有进行过了解。
6、一些涉及java的机制掌握的也不是很扎实。
3待改进的地方:
1.转变观点,没用过的没用到的并不代表不重要。
2.打牢android基础。
3.对java的基本的机制做出基本的了解。
4短期内的改进计划:
1.打牢java基础,了解java中堆和栈的机制。
2.了解android的基础和熟悉一些平时不怎么用到的重要知识点。

5是否涉及到其他层面的问题




1.面试官想考察的当然是你真实掌握的知识,所以要熟练掌握基本知识,最好还要有自己拿得出来手的项目(下面我会具体讲面试前的准备).


2.现在一般很少有笔试,很多都是直接面谈.面谈的时候就谈自己做的项目.比如说mars的MP3项目.可以放在笔记本上用模拟器,最好是自己有部android手机.这样就可以给面试官看到,可以大大的加分.


3.笔试:其实我非常喜欢有笔试的,大家都是开发者嘛,证明自己当然是靠手,不是靠你的嘴巴.所以,笔试题请务必回答的非常详细.现在一些笔试题会参杂一些java的内容.不要介意,好好做.当然,如果一张笔试卷都是跟java有关,那我觉得你可以不用考虑这家公司,因为他们只是招非常初级或者打杂的android开发员,而不是专职的.


4.面试的时候一直在问你关于java,而不是android内容.请客气的打断他,告诉他你面试的android开发工程师,而不是java工程师.最后还是这样的话,直接就告诉对方,自己不适合贵公司..撤~


5.要问清楚具体是做什么工作的.比如应用还是游戏.应用和游戏的区别还是很大的.如果是应用侧重与哪方面,GPS?蓝牙?wifi?多媒体?这个要搞清楚.还有一类就是驱动层的开发.如果面试官问你是否可以兼任其他的开发,比如j2ee.应该一口回绝,因为这些开发经验对你的成长意义不大.


6.关于薪资:如果学的不好,可以提5k-6k(上海)..如果真的学的很好,就算没有真实的开发经验,请提6k-8k如果有1,2个完整的商业项目经验,果断10k.ps:当然也要考虑到工作内容,如果做的项目很吸引人,工资低一点也无所谓,因为我们真正的财富在于你的项目经验,这点请大家务必搞清楚.


7.面试前的准备:mars的视频第一季请务必完全搞懂,不要学到一半就去面试,因为这样你的薪资估计只有你期望的一半而已.这里花的时间大概是3个礼拜.


8.面试前的准备:必须要有自己拿得出手的项目,mars的MP3项目是国民必备的,但这已经不能让面试官眼前一亮了.建议用反编译的方式研究下市面上的好的项目代码.做一个类似的山寨版.比如说现在不是出了一部视频是说新浪微博的,大家可以看看(我也正准备看).这个很拿得出手的.对你的面试大大加分!


9.面试前的准备:一些基本的概念必须了解的非常透彻.比如说activity的生命周期,intent,数据存储的几种方式,三大组件等等.接下来就是收集市面上的笔试题,自己一个一个做.这很简单,难的在于你之前没有系统的想过这些问题而已.


10.面试前的准备:约好面试以后,先上网查查这家公司,看看百度上大家的评价如何.公司规模大不大(20人以下的公司请直接pass,很有可能拖欠工资什么的).公司具体是做什么的,他们的主流产品怎样…等等,这些看完就大致了解公司的情况,以及为什么要招Android开发工程师的原因.还有了解具体路线.


11:面试前的准备:记得带上最少两份简历,自己准备一支笔.现在虽然天气热,但别穿个短裤就跑来..至少也要打扮的像个上班族.
其他没什么好说的了.总之有自己的一个项目,非常重要.


不要太看重薪资,你的项目经验,才是你的财富.这句话请大家一定要记住.我的一位同学,他是做java的,他以前薪资只有5k的时候拿到一个世博会的项目做,做完以后果断跳到淘宝,靠这个世博会项目经验就拿到15k.所以希望大家不要着重眼前.话说回来,如果你现在的工作跟你的发展方向不一样,请果断跟上司提,不行就离职.就算薪资再高也不能继续呆着.





同一家公司可能面试了多次,同一家公司我就放在一起了。笔试一般都是java基础和C/c++基础。
Java知识点包括:接口与抽象的使用及区别,多线程,socket基础,集合类,也有个别公司考察定义,很无语。
C/C++知识点包括:指针的移动,排序算法,链表,有时还会有二叉树的遍历或图的遍历。
这里具体说一下android面试题目:
南京WSCX:
1、
Activity的生命周期,两个Activity之间跳转时必然会执行的是那几个方法?
2、
不用service,B页面为音乐播放,从A跳转到B,再返回,如何使音乐继续播放?
3、
Service有哪些启动方法?有什么区别?
4、
(音乐播放器)如何加载的音乐信息,如何改善其效率。
5、
电话状态的监听,改变打电话界面(听说我改动的Phone源码就不再问了)。
6、
ListView如何提高其效率?
移动应用开发“三不要”
不要让我等 不要让我想 不要让我烦

1. 分页
2. 异步加载
3. 耗时操作给用户进度提示

7、
还有一些都是在上面的基础上扩展的,跟具体项目有关,就不说了。
总结:他们只是问一问这些基础的知识,都是给外包公司招人,自己做不了主,也就是检验一下应聘人员懂不懂android。

南京SL:
1、
启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?

都是隐式意图
Task:主界面
首先创建一个Task栈, 配置了Main Launcher Activity被启动,作为栈底

从其他跳转过来的Activity在启动它的Activity所在的栈里

2、
启动一个Activity有哪几种方法?

Start()
Main Launcher的Activity
接收事件
通知
桌面小组件

不建议:
服务
广播

3、
怎么样在启动一个Activity时就启动一个service?

4、
两个Activity之间怎么传递数据?
总结:他们也是刚开始做Android,面试人员最多有两三年工作经验,我感觉他们接触Android时间不一定跟我长,也就只问一些他们自己擅长的那一块。

南京RH:

这家让我比较窝火,一个Android问题没问,全是问Java知识,没有笔试,但说了不少题目,让你当场反应,大多是说算法,说出问题的解决思路。最后我问他们不是招收Android工程师吗,怎么没问Android知识?回答竟然是:Android这东西很简单,会了Java经过几天的培训,就能很快做Android,我晕,那你直接招收Java工程师就是了,干嘛找我!我听以前的主管说过,有些公司不缺人,却打出招聘的牌子,目的就是为了从面试人员身上获取一些问题的解决方案,获取一些别的公司的发展方向,这下我算是见识了!

南京ZDW:

面试官说他的面试题目都是网上找的,自己不懂,就看网上的答案与我的作对比。这次真的被问住了,问题全是实际工作中从没考虑过的。
1、
Android程序与Java程序的区别?并强调了不是虚拟机方面的!

J2EE用于服务端编程 性能 稳定性 安全性
Android 客户端 用户体验

JAVA J2EE Struts Spring Hibernate AJAX HRML JS XML HTTP SQL

Android: JAVA XML HTTP Android SQL

2、
Android中Task任务栈的分配。
3、
程序之间的亲和性的理解。
4、
同一个程序,但不同的Activity是否可以放在不同的Task任务栈中?
5、
在Android中,怎么节省内存的使用,怎么主动回收内存?

核心:什么占内存
资源池:同类临时对象创建多次
对象在不需要使用的时候不创建

Activity或者Service中的onDestroy方法中
主动释放

6、
Android四大组建,对各种组件的理解。(因为在不同的资料中,有人把Activity、Intent、Service、ContentProvide看为四大组建,也有人把Activity、Broadcast Receives或Intent Receives、Service、ContentProvide看成四大组建)所以这个话题就牵出来的问题比较多。
7、
对Android的理解。
总结:这只是我会的几个,不会的太多,当时大脑一热把不会的问题也全忘了,就问android方面的问题就问了一个多小时,只记得这几个了,我就纳闷了,我也经常上网看这方面的知识,有些问题我这么就没见过呢,他们这都是在哪里找的??

南京RBKJ:

这个大多是底层,我也很无语,一会驱动开发,一会Framwork修改,我感觉自己是一个一年级小孩再被初中生问问题,最后就说了一句话:不好意思,你们就当我没来过!

南京CMKJ:1、Intent 传递数据时,可以传递哪些类型数据?2、不同工程中的方法是否可以相互调用?3、Android中Provide是用来干什么的?4、电话的状态有哪之中,怎么判断是来电还是去电?5、在Android中是如何实现判断区分通话记录中的电话状态,去电,来电、未接来电?6、音乐播放器如果有大量的音乐文件,如何提高界面展示速度?7、还有些具体的项目经验经历。

上海SN:

1、音乐播放功能api中播放流程是怎么样的?
2、Activity怎么和service绑定,怎么在activity中启动自己对应的service?
3、 Service有几种启动方式,区别是什么?
4、
界面间的跳转用什么实现,跳转时activity的生命周期。
5、
界面间的布局是怎么实现的,控件的排列。
6、项目中你遇到的最大困难是什么,怎么解决的。
岁月 –> 经历—>经验

故作思考状

先想好答案
有多个解决问题的办法,
这些方法可以在公司中使用来解决未来的问题

过程是曲折,道路坎坷,
最后靠自己的努力解决了。

1. 看文档:
自定义的通知栏
2. 上网google eoeandroid
3. Android交流群

怎么证明自己是有能力、有经验解决问题

7、有些项目(我做过的)android中已经有了,而你又自己实现了,为什么自己实现,以及你用的实现方式以及所用知识点,二者相比,哪个更有优点,优点在哪。

系统自带的应用缺点:
UI简陋,用户体验稍差

UI 差异化的功能

8、你做的一个比较复杂的界面,画出来,每个部分用的什么控件,各个控件中你用到的的属性是什么,写出来。
9、如果有种功能,他认为你做的显得不够完美,可能会把这个不完美的地方说出来,让你根据这问题给出一个解决方案。
10、
Android用的数据库是什么样的?它和sql有什么区别?为什么要用ContentProvide?它和sql的实现上有什么差别?

如果进个大公司,技术全面的面试官来面你,会问得很全但很粗略,各知识点都涉及到,还给你发挥的境地。小公司就会很不幸了,尤其是面试官,自己也就懂那一点东西,他不管你会什么,就只问他会的那点知识,你们的经验有交集还好,不然就算你是诸葛亮,也只能自认倒霉!

还有几家,是刚做Android,就没问这方面的知识,就问了问java方面的,在这里就不说了,希望这些对大家有用!

看到有几位朋友说是要看看java基础部分,我整理了一下,帮要找工作的同学复习一下,希望有帮助(具体的公司就不说了,只说题目):
1.抽象类和接口的区别2.sleep()和wait()方法的区别3.TreeMap和hashMap的区别4.length和length()的区别
5.重载和重写的区别
6.数据库的查询语句(求和,平均值,最大值等)
7.写四个线程,操作同一个数,两个用于加1,两个用于减1。
8.写一个socket的简单程序,实现客户端与服务器通信
9.写10个简单的linux命令
adb ls cd rm rmdir mkdir

10..EJB和java程序的区别11.什么是集群?12.内存的堆和栈以及数据的存储位置,数组和链表的最根本的区别13.写出JDBC连接数据库的语句14.还有个是继承一个A类同时又实现一个借口,A类和接口中都有同一个成员变量x,问你会不会编译出问题15.实现一个单实例模式类16.统计一个字符串中个字母出现的次数,按照a~zA~Z的顺序17.反转一个字符串,并去掉其中的空格18.在一个人机对弈程序中,最关键步骤是什么
19.二叉树的非递归遍历
20.用多种排序方法对一组数据排序
21.给定一个图(数据结构中的图),计算两点间的最短路径

时间太久了,只记得这么多了,希望对大家有帮助!

android面试者如何做出一份漂亮简历?

最近几天,连续有几位朋友托我寻找某些专业人才,也有几位朋友托我帮助找工作。一来一往,简历见了不少,最终,得到一个结论:大部分人不会做简历。
尽管我的跳槽经历不多,但我有不少求职经历。同样的,我也有不少的招聘经验。同样的,我也帮助别人修改/优化了不少简历,最终他们都找到了不错的工作。同样的,我投简历获得面试的机会是80%以上(这也是我跳槽经历不多,但求职经历较多的原因。)。因此,前面这番话除了吹牛之外,我自以为在这方面有一点点发言权,当然,看到这篇文字的,高人无数,小弟班门弄斧了,就当抛砖引玉。jack之类的老大级别的人物,不妨多提点意见,让这份文字更加完善点。
我喜欢把这种技巧叫做“简历优化”,类似于“搜索引擎优化”,其出发点是善意的,目的是帮助求职者挖掘出来自己的长处和能力,帮助招聘者快速了解求职者。但,过度的应用也会造成很多不必要的麻烦,不过我觉得这样做意义不大,毕竟,你要面对面试这关。如果将来我有时间,也许会写一些关于面试的事情,但这次,暂且按下不表。
先来说两个原则:
1 不要试图用一份简历适应所有的应聘。
2 不要试图用一份简历展示自己所有能力。

我所认为的正确的简历,就是履行了这两个原则的。
下面来说点具体的:
大部分简历包含这几项:
一 基本资料
二 教育经历
三 工作经历
四 专业能力
五 其他
先来说非应届毕业生。(绝无歧视,应届毕业生的问题比较难处理,以后我会给出一些建议)
你的第一关,是要在30秒内让应聘者决定继续看这个简历。
荒谬吗?一点也不。面对成堆的简历,就算是最热爱挖八卦新闻的家伙也不会一份一份认认真真看下去。多称职的人也会有烦躁不安的时候。
所以,30秒,你最多只有30秒。
基本资料必不可少,事实上,熟练的招聘者会不由自主的先跳过这段。
下面,不要放教育经历,除非你的教育经历显赫异常。当然,这样的人也没必要看我这份东西了。如果你跟我一样,本科,学校普通,那么,你觉得你的教育经历值 得放在前面,浪费那么宝贵的地方吗?如果能投放简历广告,我打赌基本信息下面这块地方的page view绝对是最高的。
因此,这地方要用来放工作经历或是项目经历。至于到底放哪个?要看你面试的职位和工作性质,找最接近,做的最漂亮的放在这里。要让招聘者一眼就看到,他会觉得:“嗯,这小子有门”。这样,他会继续往下看,你的这一关算闯过了。
你的第二关,就是你的项目经历。
衡量一个人是否合适,光靠一个项目显然不行。现在,你抓住了他,他就开始审视其他的了。

这里特别要说说如何写项目经历。这些技巧同样适合于前面所说的第一关中要用到的部分。

很多人是这样写的。某年某月某日-某年某月某日 xxxx公司 xxx 项目 任xxx

这样写,仅仅是比不写好一点点。从这里面,仅仅能看出来你有这个经历,真假还不得而知。更多的信息,看不到。在非常需要人,且竞争者不多的情况,可能会叫来面试,具体谈谈,否则的话,你可能过不了这关。
我推荐的写法是这样的:
某年某月某日-某年某月某日 xxxx公司 xxx 项目
任xxx
然后在这里写明任XXX期间的具体工作,经验,收获,成绩。其中重要程度:成绩最重,经验其次,具体工作再其次。
一定要简单,200字之内吧。相信用200字概括这些,并不简单,但,你需要如此。
其他的项目经历按照重要程度/时间排序,都按照这种方法写在下面。最多不要超过5个吧。

没必要太多!前面说过一个原则:不要试图用一份简历适应所有的应聘。 因此,你只需要挑选符合你求职的这份工作的
项目经历放在这里。这也是为了节约读你简历的人的时间,帮助他找到要点,并最终确认你是合格的。
在这里,特别提醒一点,不要试图编造任何东西,除非你确认你能达到你所描述的程度。面试的时候,这些将使对方火力集中的靶子。面试中,我喜欢采用对一个项目深挖,挖到底,顺便提问题的方法,这个方法往往会血流成河——编造的人肯定会出局。
第二关过了。
第三关,就是专业能力了
专业能力很重要。你很可能是一个多面手,精通很多东西。但,听我的,不要都写上。比如说,你应聘程序员的工作,精通photoshop就没什么必要,应聘C++程序员,同时精通JAVA是可以的,但是HTML/asp/javascript就可以去掉了吧。应聘网站开发,倒是可以精通C++,这显得底子深厚,但精通VB实在是没什么用处了。
还以开发为例,要理解事情的本质。比如说,精通C++,则必然要精通面向对象,精通asp,还必然要熟悉数据库。总之,一条线上的东西,都要熟悉。(注意,这里不是教你编造简历,如果你不幸的认为自己精通C++,而不熟悉面向对象,那你应该补补课了)
除了专业能力,一些其他的行业技能也很重要。
如果你应聘银行业开发工作,那么除了C++/JAVA这些东西,如果你熟悉银行业务流程,那自然能加分。当然,如果你只熟悉医疗行业,那还不如不要写。
挑出最适合3-5项能力写在上面,分别冠以:精通,掌握,熟悉,了解,以便对方正确评估你的能力。
不出所料的话,这关并不难过。除非你真的不适合这个职位。
第四关轻松多了,是工作经历
工作经历,原则和前面一样,不要写太多,以免给对方造成跳槽频繁的印象。不要编造,圈子不大,你很难确保读你简历的人没有在你编造的地方工作过。
尽量选择相关的工作经历,如果太少或没有,就实事求是吧。说真话总比时候被揭露好。就算你这关没过去,至少还节约了面试或是试用的时间和精力,对你还是有利的。

再下面,教育经历
没必要从小学开始写。写本科及以上的经历就行了,你的小学在那里上,和你是否胜任这份工作没有直接关系。
同样,别编造什么东西,危险。
这时候应该差不多了。
不过建议还是把个人评价写好,很多招聘者喜欢读这个东西,并作为参考依据。但我并不太依靠这个——对我来说,仅供参考。
评价要客观点,别吹牛,不过也别写太多缺点,缺点嘛,不写就好。优点可以写,还是依靠相关性原则,有关的优点放在前面。
最后一点,也是非常重要的。检查一下你的手机号有没有错,邮件地址写一个,住址也要写,不过没必要太详细,写清楚在那个区,那条街道,那个小区足够了。写这个的用处是为了应付一些喜欢稳定的行业,他们往往认为你居住地距离工作地足够近,是稳定的重要因素。(我非常赞成这一点!)
都写好了?排好版,看看是否控制在2页纸之内,如果多了,不要试图用缩减字数,行间距之类的雕虫小技,你应该删减内容。
从头看一边,符合我前面说的两个原则吗?你肯定发现,符合。看起来是不是舒服多了?是不是能一下子了解你的能力和经验?我想你会得到肯定的答案。
好了,真的完成了,可以发出去了。用Email发送,把简历内容直接粘贴到正文中,用html发送,不要用doc的附件。防毒邮件网关可能会造成你的邮件丢失,就算不丢失,面对一堆邮件,你愿意打开就能看到,还是愿意花点时间用word打开?(我第一次找工作的时候,犯过非常愚蠢的错误,我竟然用了PDF!!!)
现在,把你的简历保存起来,起名:你的名字_应聘职位,这样做有两个目的:1 当通知你面试的时候,你可以找到这份简历再看一遍。 2碰上类似的行业和职位,你可以直接拿出来用,不需要再花时间了。至于用什么格式就无所谓了,喜欢word就doc好了。这里做个广告,我一般是使用openoffice的。openoffice用压缩的xml格式存放,如果你的机器出了问题,这个简单的格式往往利于修复。
这是你的一份简历,你还需要做更多。

比如:我硬盘上的简历就有:huoju_技术经理_移动,huoju_技术经理_网站,huoju_项目经理_移动,huoju_项目经历_网站,huoju_高程。等等很多,整理好他们,对你早晚会有用处。

好了。暂且就这些。应届毕业生的下一篇详述。

最后需要强调的一点:本文绝对不是教你编造简历,请千万要诚实,文中多次提到了不要编造,这很重要,真的,甚至可以说重要得超过任何技巧。“搜索引擎优化”的结果,现在大家都看到了,用户很难寻找内容,而作-弊者,也逐渐得到了应有的惩罚。在求职这件事情上,惩罚往往来得更快些。

班门弄斧了,还请各位老大多多砸砖。

展开阅读全文

Git 实用技巧

11-24
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值