三年工作经验,从小厂离职后,我凭什么拿到了阿里的offer

简介: 本篇文章主要记录分享我的面试准备过程。很多朋友问我为什么离职关于离职原因,马云有一句经典的话“要么钱没给到位,要么心委屈了”,想必大家耳熟能详了,我这里再细说一下我个人离职原因:

本篇文章主要记录分享我的面试准备过程。

很多朋友问我为什么离职

关于离职原因,马云有一句经典的话“要么钱没给到位,要么心委屈了”,想必大家耳熟能详了,我这里再细说一下我个人离职原因:

工资倒挂,涨薪不如意


在之前的小厂薪资倒挂现象严重,新入职的员工工资明显高过老员工,企业宁愿高薪招聘一位新员工,也不愿给我们老员工加工资,这让老员工十分寒心。接地造成老员工离职。继而还有一种,当感觉自己的劳动并未收获到相应的价值之时,继续在原公司呆下去意义也不大。


十年如一日的技术


在小型软件公司干的三年时间里,其实只拥有了一年的技术经验之时。技术视野较窄,能力提升缓慢,没了技术上升的空间,日复一日,年复一年,只干着同样的事情,往高处走才是必然的选择。


准备

大厂的正常面试流程周期一般是一到两个月,就算薪资谈完到 offer 最终审批下来可能都需要一到两周,这段时间心理是比较难熬的,因此我没有直接裸辞。我不仅要把日常的工作做好,还要开始着手准备刷题、基础知识准备、高阶知识以及新兴热点技术的学习准备。整个阶段大概持续了4个多月。


其实每一次跳槽,都是对这几年工作的一个梳理和总结,虽然大家都明白“面试造航母、入职拧螺丝”的道理,对于公司而言,这是筛选人才的一个方式,毕竟人是第一生产力,只要有优秀的人才,那么造出的航母才可能“勇往直前,战无不胜”。对于个人而言,如果公司里同事优秀的人,那么你肯定也不会差,我们肯定更希望和优秀的人一起共事。


面试刷题

刷题我从常见Android基础知识面试题,刷到了Java面试题,继而攻坚Android高级面试题,以及突破学习Flutter相关热点技术面试题(不是很难),最后总攻今年大厂面试真题总结。


Android基础知识

一、 Activity


1、 什么是Activity?


2、 请描述一下Activity 生命周期


3、 常见的Activity类型有FragmentActivitiy,ListActivity,TabAcitivty等。请描述一下Activity 生命周期


4、 如何保存Activity的状态?


5、 两个Activity之间跳转时必然会执行的是哪几个方法?


6、 横竖屏切换时Activity的生命周期


7、 如何将一个Activity设置成窗口的样式


8、 如何退出Activity?如何安全退出已调用多个Activity的Application?


9、 Activity的四种启动模式,singletop和singletask区别是什么?一般书签的使用模式是singletop,那为什么不使用singletask?


10、 Android中的Context, Activity,Appliction有什么区别?


11、 两个Activity之间传递数据,除了intent,广播接收者,content provider还有啥?


12、 Context是什么?


二、 Service


1、 Service是否在main thread中执行, service里面是否能执行耗时的操作?


2、 Activity怎么和Service绑定,怎么在Activity中启动自己对应的Service?


3、 请描述一下Service的生命周期


4、 什么是IntentService?有何优点?


5、 说说Activity、Intent、Service是什么关系


6、 Service和Activity在同一个线程吗


7、 Service里面可以弹吐司么


8、 什么是Service以及描述下它的生命周期。Service有哪些启动方法,有什么区别,怎样停用Service?


9、 在service的生命周期方法onstartConmand()可不可以执行网络操作?如何在service中执行网络操作?


三、 Broadcast Receiver


1、 请描述一下BroadcastReceiver


2、 在manifest和代码中如何注册和使用BroadcastReceiver


3、 BroadCastReceiver的生命周期


四、 ContentProvider


1、 请介绍下ContentProvider是如何实现数据共享的


2、 请介绍下Android的数据存储方式


3、 为什么要用ContentProvider?它和sql的实现上有什么差别?


4、 说说ContentProvider、ContentResolver、ContentObserver之间的关系


五、 ListView


1、 ListView如何提高其效率?


2、 当ListView数据集改变后,如何更新ListView


3、 ListView如何实现分页加载


4、 ListView可以显示多种类型的条目吗


5、 ListView如何定位到指定位置


6、 如何在ScrollView中如何嵌入ListView


7、 ListView中如何优化图片


8、 ListView中图片错位的问题是如何产生的


9、 如何刷新ListView中单个item的数据,不刷新整个ListView的数据?


六、 Intent

1、 Intent传递数据时,可以传递哪些类型数据?


2、 Serializable和Parcelable的区别


3、 请描述一下Intent 和 IntentFilter


七、 Fragment


1、 Fragment跟Activity之间是如何传值的


2、 描述一下Fragment的生命周期


3、 Fragment的replace和add方法的区别


4、 Fragment如何实现类似Activity栈的压栈和出栈效果的?


5、 Fragment在你们项目中的使用


6、 如何切换fragement,不重新实例化


Java面试题

一、 Java基础


1、 Java中引用类型都有哪些


2、 什么是重载,什么是重写,有什么区别? )


3、 String、StringBuffer和StringBuilder的区别


4、 关键字final和static是怎么使用的


5、 TCP/IP协议簇分哪几层?TCP、IP、XMPP、HTTP、分别属于哪一层?


二、 Java中的设计模式


1、 你所知道的设计模式有哪些


2、 单例设计模式


3、 工厂设计模式


4、 建造者模式(Builder)


5、 适配器设计模式


6、 装饰模式(Decorator)


7、 策略模式(strategy)


8、 观察者模式(Observer)


Android 高级


一、 Android性能优化


1、 如何对Android应用进行性能分析


2、 什么情况下会导致内存泄露


3、 如何避免OOM异常


4、 Android中如何捕获未捕获的异常


5、 ANR是什么?怎样避免和解决ANR(重要)


6、 Android线程间通信有哪几种方式(重要)


7、 Devik进程,linux进程,线程的区别


8、 描述一下android的系统架构?


9、 android应用对内存是如何限制的?我们应该如何合理使用内存?


10、 简述android应用程序结构是哪些?


11、 请解释下Android程序运行时权限与文件系统权限的区别?


12、 Framework工作方式及原理,Activity是如何生成一个view的,机制是什么?


13、 多线程间通信和多进程之间通信有什么不同,分别怎么实现?


二、 Android屏幕适配


1、 屏幕适配方式都有哪些


2、 屏幕适配的处理技巧都有哪些


三、 AIDL


1、 什么是AIDL以及如何使用


2、 AIDL的全称是什么?如何工作?能处理哪些类型的数据?


四、 Android中的事件处理


1、 Handler机制


2、 事件分发机制


3、 子线程发消息到主线程进行更新UI,除了handler和AsyncTask,还有什么?


4、 子线程中能不能new handler?为什么?


五、 Android中的动画


1、 Android中的动画有哪几类,它们的特点和区别是什么


2、 如何修改Activity进入和退出动画


3、 属性动画,例如一个button从A移动到B点,B点还是可以响应点击事件,这个原理是什么?


六、 ContentObserver 内容观察者作用及特点


项目框架的使用


一、 自我介绍


二、 开发中都使用过哪些框架、平台


三、 都使用过哪些自定义控件


四、 自定义控件:绘制圆环的实现过程


五、 自定义控件:摩天轮的实现过程


六、 自定义控件:可拖拽排序的GridLayout的实现过程


七、 流式布局的实现过程


八、 项目的流程


九、 项目中常见的问题


十、 即时通讯是是怎么做的?


十一、 设计模式六大原则


十二、 第三方登陆


十三、 第三方支付


十四、 常见框架分析



现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。如有需要获取资料文档的朋友,可以点击我的GitHub免费获取!


相关文章
|
6月前
|
安全 算法 数据安全/隐私保护
腾讯面试官:工作两年了,这么简单的cisp题你都不会?
注册信息安全专业人员,是经中【国信息安全产品测评认证中心】实施的国家【认证】,对信息安全人员执业资质的认可。该证书是面向【信息安全】企业、信息安全咨询【服务机构】、信息安全【测评机构】、【政府机构】、社会各组织、团体、大专院校以及企事业单位中负责信息系统建设、运行维护和管理工作的信息安全专业人员所颁发的专业资质证书。
128 0
腾讯面试官:工作两年了,这么简单的cisp题你都不会?
|
6月前
|
NoSQL 算法 Java
我从外包辞职了,10000小时后,走进字节跳动拿了offer
没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。
|
6月前
|
消息中间件 NoSQL Java
四面阿里巴巴如愿拿到offer定级P7,为此我筹备了半年
每个程序员都有一个大厂的梦,而互联网大厂首当其冲自然是阿里巴巴最吃香,今天小编就来分享一个小伙进阿里巴巴的面经!
四面阿里巴巴如愿拿到offer定级P7,为此我筹备了半年
|
6月前
|
消息中间件 算法 NoSQL
两年CRUD,二本毕业,备战两个月面试阿里,侥幸拿下offer定级P6
本文素材来自一位关注我一年多的铁粉 对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了阿里P6岗。今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值,感谢!
两年CRUD,二本毕业,备战两个月面试阿里,侥幸拿下offer定级P6
|
6月前
|
消息中间件 NoSQL Java
为了阿里巴巴的P7offer,我筹备了半年,四面之后终于成功拿下
大厂是每一个程序员的梦想,在这些互联网的大厂里面又属阿里巴巴最吃香,今天小编就来分享一个小伙进阿里巴巴的面经!
|
分布式计算 Kubernetes JavaScript
从华为云计算岗跳槽到银行科技岗,好难!
从华为云计算岗跳槽到银行科技岗,好难!
|
消息中间件 设计模式 NoSQL
8年程序员年初被迫毕业,前后面试30家公司,如今终于上岸
大家好,我是君哥。今天分享一个老弟,被“毕业”后的求职经历。 在老东家干了 6 年,发展一般,很想出去,但是一直没有合适的机会,只好一边准备面试一边学习。让我没有想到的是,突然收到了“毕业”通知,当然,不光是我,而是整个团队。 毕业,对于我这样的老员工来说是不错的结果,因为正好我也想出去,而且这次公司还能给不少补贴。
|
弹性计算 Kubernetes 架构师
985毕业,工作3年,分享从阿里辞职到了国企的一路辛酸和经验
楼主本硕985,毕业的时候去了杭州某互联网大厂,后来又跳槽去了北京某互联网大厂。简单的谈一下互联网的感受吧,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候。记得在北京的时候,作为系统负责人,那个系统docker就800个,那个系统的并发量在全国来说肯定是top级别的。通过维护大促系统,排查跳点,不断地优化系统的框架,优化JVM,所带来的技术提升是质的飞跃。
|
存储 编译器 C语言
三年经验的C需要懂的问题
2013年3月写的文章。那会的工作主要是做一些通信设备上的底层软件,所以会深入的了解C的相关底层内容。这是那时候写的三年的C经验需要知道的事情。请不要问我这些问题的答案。
102 0