投了100份简历,唯一邀请我面试的这一家Android开发公司;是如何对我洗刷的?
Android面试经历
最近我参加了一家互联网公司的Android开发岗位面试。这是我投了100份简历中唯一收到邀面的,这次面试主要包括笔试和面试两个环节,考察了我的专业技能、开发经验和综合素质。
笔试环节中,我需要根据面试官给出的一些需求和条件,完成一个实现简单功能的Android小应用。我写了一个登录应用,包括输入用户名和密码、校验登录信息、跳转到主界面等功能。在编写代码的过程中,我不断通过注释清晰地讲解了代码实现原理和方法,也因此在笔试环节中表现较为出色。
面试主要分为两部分,一部分是问答环节,另一部分是实操环节。
在问答环节中:
面试官主要考察了我的专业技术知识和开发经验。他询问我对于设计模式、Android各个组件的生命周期、内存泄漏、性能优化等方面的掌握情况。我结合自己的开发经验和阅读学习得来的知识,一一回答并且举例子,与面试官进行了广泛的交流。
能记得起来的面试题目如下:
- 谈谈你对Android系统架构的理解?
- 说说你在Android开发中用到的设计模式?
- 虚拟机是什么,与真实机有哪些区别?
- 掌握哪些数据库操作的技巧?可以谈谈你的经验。
- 怎么保证Android程序的安全性?
- Android的单元测试框架用过吗?回答一下可以带来哪些好处?
- 解释一下什么是AIDL(Android Interface Definition Language)?它有什么作用?
- 谈谈你对Android中的异步任务机制(AsyncTask)的理解?
- 什么是BroadcastReceiver(广播接收器)?在什么情况下使用它?
- 说说你对Android中的Service(服务)的理解?
- 谈谈你对Android中的Fragment(碎片)的理解?
- 谈谈你对Android中的布局文件的理解?
- 谈谈你对Android中网络编程的理解?
- 解释一下Android中的MVP模式,以及它的优点有哪些?
- 谈谈你对RxJava(响应式编程框架)的理解。
在实操环节中:
面试官提供给我一个需求,让我基于这个需求完成代码的编写和调试。这个需求是关于一个带动画的ViewPager的实现。我用我之前的代码作为模板,根据面试官的需求进行了修改和调试。在这个过程中,我不断地与面试官进行交流、汇报当前的进度和存在的问题,同时在合理的时间范围内完成了任务。
如何实现带动画的ViewPager。 首先我们需要在xml布局中新增一个自定义的ViewPager:
xml
<com.example.animationviewpager.MyViewPagerandroid:id="@+id/myViewPager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/>
然后在Java代码中,我们需要继承ViewPager,实现带动画的效果:
java
public class MyViewPager extends ViewPager {private static final String TAG = "MyViewPager";private int mLastPosition = -1;private int mCurrPosition = -1;private int mPrevPosition = -1;private float mMarginX = 0f;public MyViewPager(Context context) {super(context);}public MyViewPager(Context context, AttributeSet attrs) {super(context, attrs);}@Overridepublic void setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer) {super.setPageTransformer(reverseDrawingOrder, transformer);}@Overrideprotected void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {super.onPageScrolled(position, positionOffset, positionOffsetPixels);if (mCurrPosition == position || mCurrPosition == -1) {mCurrPosition = position;mPrevPosition = mCurrPosition - 1;mLastPosition = getChildCount() - 1;if (mPrevPosition >= 0 && mPrevPosition <= mLastPosition) {View view = getChildAt(mPrevPosition);mMarginX = view.getWidth() / 2 * positionOffset;view.setTranslationX(-mMarginX);}if (mCurrPosition >= 0 && mCurrPosition <= mLastPosition) {View view = getChildAt(mCurrPosition);mMarginX = view.getWidth() / 2 * positionOffset;view.setTranslationX(mMarginX);}} else if (mCurrPosition < position) {if (mPrevPosition >= 0 && mPrevPosition <= mLastPosition) {View view = getChildAt(mPrevPosition);view.setTranslationX(-view.getWidth() / 2);mPrevPosition = mCurrPosition;}if (mCurrPosition >= 0 && mCurrPosition <= mLastPosition) {View view = getChildAt(mCurrPosition);mMarginX = view.getWidth() / 2 * positionOffset;view.setTranslationX(mMarginX);mCurrPosition = position;}} else if (mCurrPosition > position) {if (mPrevPosition >= 0 && mPrevPosition <= mLastPosition) {View view = getChildAt(mPrevPosition);view.setTranslationX(view.getWidth() / 2);mPrevPosition = mCurrPosition;}if (mCurrPosition >= 0 && mCurrPosition <= mLastPosition) {View view = getChildAt(mCurrPosition);mMarginX = view.getWidth() / 2 * positionOffset;view.setTranslationX(-mMarginX);mCurrPosition = position;}}}
}
上述代码中,我们重写了onPageScrolled()方法,实现了ViewPager的动画效果。每次滑动时,我们都会计算出上一个页面和当前页面的位置,然后通过设置上一个页面和当前页面的平移量,实现一个带动画的滑动效果。 需要注意的是,如果你想实现自己的ViewPager,并且为其设置自定义的动画效果,你需要在调用setAdapter()方法之前,先调用ViewPager的setPageTransformer()方法,将自定义的动画效果设置到ViewPager中。
文末
整个面试过程中,我感到非常充实和愉快。面试官对于我在开发中遇到的问题、困难和解决方案给予了高度的肯定,对于我也提出了指导意见。这次面试不仅考察了我的专业技能和开发能力,更是考查了我综合素质的表现,这让我收获颇丰。
回想整个面试过程,我的心态是平静和乐观的,心中充满了自信和对于未来的期望。面试官对我感觉印象不错,最后等了好几天才拿到了这家公司的offer。
投了100份简历,唯一邀请我面试的这一家Android开发公司;是如何对我洗刷的?相关推荐
- 13年资深HR告诉你,为什么你投了100份+简历都毫无反应
目录 1.有投无回的HR究竟能不能收到简历? 那投简历上,有没有什么特别的渠道呢? 2.大厂HR是怎么筛选简历的? 3.哪种类型的简历更容易获得面试机会? 什么叫投对岗位? 4.竞争对手决定你拿off ...
- 秋招投100份简历是种什么体验
秋招,大概是我人生最漫长痛苦的一段时光 我的本科院校,是北方一个不知名的二本理科院校,而我所在的,是整个学校里最弱势.最没存在感的文科院系-法院,四个年级,加起来不过寥寥200人 更讽刺的是--我,还 ...
- 37岁程序员失业投500份简历就3次面试猎头:超35岁不要
37岁程序员失业120天,投了500份简历就3次面试,猎头:超过35岁都不要 在职场中,都说互联网吃青春饭,而35岁就是一个门槛,一旦到了这个年龄找工作都非常难,甚至被公司裁员的风险都很大,其实一个现 ...
- 【实习之路】投了109份简历,幸运的大二菜鸡终于拿到欢聚时代的offer了!!
文章目录 前言 正文 面试过程 笔试情况 一轮面试: 二轮面试: 三轮面试: 发放offer 总结 前言 我是一名普通3本(本地叫2本,外地叫3本)的大二(准大三)学生,学校是一个民办独立院校,软件工 ...
- CTO职位刚发布,一天收到100+份简历
IT行业卷 可是没有想到这么卷,我们公司最近招聘CTO,一天收到100+份简历,这里面有太多优秀的人,简直挑花了眼. 这里面有英国毕业的,有北京大学的,还有各种985和211毕业的大学生,简历也是非常 ...
- 为什么你投十份简历,只有一两家公司约你?又或者为什么你每投一份简历都能获得面试机会?
最根本的原因,就是一方在汲汲渴求,而恰恰另一方呈现出的关键点让其怦然心动.求者心中有所想,而应者恰恰展现了求者所想的那一面.这就是个中奥妙. 程序员在找工作时,在一开始有三件事情会对能否获得面试机会至 ...
- 【粉丝福利、免费领取】:1000套PPT模板、100份简历模板、硬核学习资料+PDF资料(java、python、大数据、机器学习)
目录 1.100套小编购买的简历模板(部分截图) 2.1000套精品PPT模板(部分截图) 3.大数据-学习资料(1.3G 硬核PDF,官方指南) 4.python学习全集 5.Java基础.高级和面 ...
- 免费求职简历模板100份,持续更新中
最近是求职季,很多人都需要制作求职简历,但是苦于简历过于简单,没有很好的模板,去网上搜搜都是要按单收费的,钱包不够怎么办,自己也上网逛了一圈,总算收集了100份简历模板,也在不断的收集之中,大家可以都 ...
- 给2021金三银四的程序员们-投简历100份,1份面试通知都没收到,哪里出了问题
与该岗位契合度 写好简历要重点把握住以下几个方面: 人职匹配.HR招聘.看简历的一个基本原则就是"人职"匹配,因此整个简历呈现出的你的知识.技能.能力等综合素质,要和个人应聘的职位 ...
最新文章
- 计算机网络与云计算研究背景,基于云计算背景下的计算机网络安全研究
- 大家都在聊的人工智能,究竟是什么?
- Hill加密算法(matlab 实现)
- java多线程 生产者消费者_java多线程之生产者消费者经典问题 - 很不错的范例
- ci/cd heroku_在Heroku上部署Dash或Flask Web应用程序。 简易CI / CD。
- 【机器视觉学习笔记】二值图像连通区域提取算法(C++)
- 【POJ - 2785】4 Values whose Sum is 0 (二分,折半枚举)
- c++语言的设计与演化 pdf_天津大学在金属材料织构设计与调控领域取得进展
- Sql Server参数化查询之where in和like实现之xml和DataTable传参
- 存货控制中的ABC分类释义
- 拓扑排序排课系统_木犀互联网技术周刊(第四十五期): 分布式系统简介
- 序列化和反序列化的概念
- 【随记】还原SQL Server数据库步骤
- Redis集群--Cluster--节点通信的过程(原理)
- 遥远的路:【码农】的成长困惑
- Java如何从字符串中提取数字
- SpringMVC复习
- Web Directions South 2012的四个大创意
- html网页效果跳动的心
- 通俗理解TIM定时器并简单使用
热门文章
- PostgreSQL 查表、所属schema、字段、字段类型、注释等信息
- STM32理论 —— ADC、存储、定时器、时钟、中断
- 操作系统概念(一)——导论
- 【毕业设计】 微信小程序购物商城系统 【含代码】
- Zoom Cloud Mettings - Zoom 云视频会议
- 微信小程序 地图map组件 SDK 并 实现导航
- MySQL安装报错:No compatible servers were found.You‘ll need to cancel this wizard and install one
- PySide2----案例练习
- 1999-2018年地级市一般公共预算收入、支出(教育事业费、科技支出)
- C++编写MC(含源码)