三年工作经验,从小厂离职后,我凭什么拿到了阿里的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免费获取!


相关文章
|
存储 缓存 文件存储
如何保证分布式文件系统的数据一致性
分布式文件系统需要向上层应用提供透明的客户端缓存,从而缓解网络延时现象,更好地支持客户端性能水平扩展,同时也降低对文件服务器的访问压力。当考虑客户端缓存的时候,由于在客户端上引入了多个本地数据副本(Replica),就相应地需要提供客户端对数据访问的全局数据一致性。
32697 79
如何保证分布式文件系统的数据一致性
|
前端开发 容器
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局(上)
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局
17749 20
|
设计模式 存储 监控
设计模式(C++版)
看懂UML类图和时序图30分钟学会UML类图设计原则单一职责原则定义:单一职责原则,所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。bad case:IPhone类承担了协议管理(Dial、HangUp)、数据传送(Chat)。good case:里式替换原则定义:里氏代换原则(Liskov 
36680 19
设计模式(C++版)
|
存储 编译器 C语言
抽丝剥茧C语言(初阶 下)(下)
抽丝剥茧C语言(初阶 下)
|
机器学习/深度学习 人工智能 自然语言处理
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性
24757 14
|
机器学习/深度学习 弹性计算 监控
重生之---我测阿里云U1实例(通用算力型)
阿里云产品全线降价的一力作,2023年4月阿里云推出新款通用算力型ECS云服务器Universal实例,该款服务器的真实表现如何?让我先测为敬!
36660 15
重生之---我测阿里云U1实例(通用算力型)
|
SQL 存储 弹性计算
Redis性能高30%,阿里云倚天ECS性能摸底和迁移实践
Redis在倚天ECS环境下与同规格的基于 x86 的 ECS 实例相比,Redis 部署在基于 Yitian 710 的 ECS 上可获得高达 30% 的吞吐量优势。成本方面基于倚天710的G8y实例售价比G7实例低23%,总性价比提高50%;按照相同算法,相对G8a,性价比为1.4倍左右。
|
存储 算法 Java
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务
随着互联网的快速发展,越来越多的应用程序需要处理大量的请求。如果没有限制,这些请求可能会导致应用程序崩溃或变得不可用。因此,限流器是一种非常重要的技术,可以帮助应用程序控制请求的数量和速率,以保持稳定和可靠的运行。
29838 52

热门文章

最新文章

下一篇
开通oss服务