同样是Android开发者你知道你为什么只能拿20k吗?看完这篇你就知道了

前言

致那些正处于工作瓶颈期和那些迷茫的Android开发面试者以及那些奋发的年轻人。这个世界有太多的现象都可以用“二八定律”来解释,20%拿着高工资,80%每天挣扎在增删改查边缘,其实职场一分钱一分货,或许人家拿高薪,不是全靠运气而工作年限越久,不代表越值钱,所以我想改变,想更优秀,拿更高的薪资。

自身情况介绍

我一名Android从业者,开发三年多,平时学习也比较勤学好问,对待工作也极度认真负责,对自己进入大厂工作还是很有信心的,我的方向是Android,也知道现在Android的竞争比较激烈,大厂比较难进,但我丝毫不胆怯。工作瓶颈时期慢慢意识到自己对于Flutter了解的还是太少,于是在这期间开始每天花费空闲时间恶补Flutter相关知识,九月海投简历时意外投到京东,出乎意料的拿得了京东面试邀请,本以为自己的技术可能达不到京东的要求,没想到因为对于Flutter的深入研究以及平常对底层知识的学习,三面成功拿下京东offer

京东录取通知

京东录取通知

面试分享

过程比较艰辛,面试也有被问懵,可以说是陷入,虽然给的职级不高,但我相信我坚持下去,不再以之前的状态工作,是能够收获不少的。面试答不答的上来真的会影响薪资特分享一下这次的三轮技术面真题,希望能够给一些正在面试京东或计划面试大厂的朋友提供帮助。

京东1 面 1h 多(具体多了多少分钟忘了)

1.算法题

两个栈实现队列

2.算法题输入一个数组,想一种方法让这个数组尽可能的乱序,保证功能能实现的情况下时间复杂度和空间复杂度尽可能的小,可使用随机数函数。(面试官最后说了 O(n)的时间复杂度能实现)

3.写一个单例(自己写一种就行)

4.ActivityA -> Activity B -> Activity A

Activity A 启动模式为 singleTask

Activity B 启动模式为常规模式

问A 启动 B,B 又启动 A 的生命周期调用顺序?

5.你刚才提到 onsaveinstancestate() ,说一下调用时机,它用来干什么的。

6.onsaveinstancestate() 保存的那个参数叫什么?Bundle 里面都放一些什么东西?怎么实现序列化?Parcelable 和 Serializable有什么区别?

Bundle 。

7.数组和链表的区别

8.HashMap 的结构以及原理

9.我看你简历上写了 retrofit,你能说一下它是做什么的,如果知道基本框架也说一下

10.了解 View 的绘制机制吗,能说一下吗

11.我看你项目里用的 Fragment 能说一下 Fragment A 启动了 Fragment B,Fragment B 中按下返回键只退出 Fragment B 怎么实现。

12.你还有什么要问的吗?

京东2 面 1h 多(具体多了多少分钟也忘了,加起来 2.5 小时的样子)

1.算法题一个字符串,求最长没有重复字符的字符串长度

2.string stringbuffer 和 stringbuilder 区别

3.final finally finalize区别

4.数组和链表的区别

5.HashMap 了解过吗

6.Tcp 三次握手四次挥手

7.get 与 post 的区别

8.synchronized 的作用

9.你知道哪些设计模式

10.Android 进程通信的方法

11.那你能说一下 Intent 是怎么进程通信的

12.内存泄漏有哪几种情况

13.有什么要问

京东3面(50mins):

0、自我介绍

1、算法,跳棋盘

2、浏览器输入URL到渲染全过程

3、Http请求报文响应报文

4、http2.0有哪些优化

5、用过哪些网络库

6、OkHttp的Intercepter

7、Android持久化方式

8、Java线程同步的数据结构

9、反问

总结:面的时候很紧张,因为这是最想去的公司,是一直以来的梦想。

hr反馈说面试官觉得我有耍小聪明的嫌疑,可能是话太多了。这个得注意,有控制地说。

学习经验及思路总结

面试作为涨薪最直接最有效的方式,我们需要花费巨大的精力和时间来准备。除了自身的技术积累之外,掌握一定的面试技巧和熟悉最常见的面试题,一定会让我们如虎添翼。尤其是在当今的这个严峻形势下,大厂的面试竞争十分激烈,想要在这场战役中获得胜利,就必须在面试这个环节上下狠功夫,那么查漏补缺和务实理论就是我们的必经之道。

  • 短期准备——刷面试题;长期筹谋——巩固核心技能。
  • 面试题怎么刷?刷高频题、有深度的题、符合时效性的题。
  • 核心技能如何巩固?先深入理解原理,再系统应用到实践。

(一)调整自己的心态,正确面对得失

面试中常见的问题,主要是心态,面试调整心态是第一位的,如何调整成最佳心态呢?很多求职者在面试过程中自己思路不清晰,语言不流畅,说话毫无逻辑,会不断否定自己,归根结底都是面试心态问题,所以调整自己的心态,正确面对得失是非常重要的,我的方法是给自己足够的心理暗示。

(二)提升技术,扩宽知识

对于程序员来说,要想成长为一名行业内的大牛大神级别的人物,那么唯一的办法就是通过学习,来不断提升自己的技术,扩宽知识,达到一定的高度和深度。

(三)刷题

如何刷题?这是很多现在面试者心中的困惑,我们都知道,面试前刷题是很有必要的,毕竟很多题目都有一定的共性,刷足够题目就能够做到举一反三,甚至在面试时,被问到原题,能够侃侃而谈,那么刷题如何进行呢?建议:最好找一些历年的面试原题,分专题来对自己进行训练。下面这套是我复习时大厂大佬给我提供的,笔记比较全面分享给大家。资料内容比较多,需要的小伙伴可以私信我。

一、Android部分:

1.第五大组件FragmentAndroid知识体系总结之Android部分之Fragment篇
2.对话框 & 弹框 & 通知 & 悬浮窗之 WMS 源码篇
3.Android UI控件篇 高级自定义View, 主要是原理和手写实现 4.Android 系统架构篇
5.Android 通信篇
6.Android Framework 源码篇
7.Android 网络编程篇
8.原生音视频图片开发篇[非JNI]
9.Android 特殊知识点【不知道如何分类的知识点】
10.Android 必须掌握的轮子 原理篇
11.Android 架构篇
12.Android 优化篇
13.Android 职业方向篇(有正确的职业方向,才能不浪费自己的职业生涯)
14.Android 工作工具篇
15.Android 工作必备技能篇
16.Android 跨平台开发篇

二、Java部分:

1.JVM
2.static
3.final
4.String. StringBuffer. StringBuilder
5.异常处理
6.内部类
7.多态
8.抽象和接口
9.集合框架
10.反射
11.单例
12.多线程
13.volatile
14.synchronized
15.Lock
16.引用类型
17.动态代理
18.元注解

三、 Kotlin 部分

1.Kotlin Primer · 第一章 · 启程 2.Kotlin Primer · 第二章 · 基本语法 3.Kotlin Primer · 第三章 · Kotlin 与 Java 混编

四、计算机网络部分

1.计算机网络体系结构
2.HTTP相关
3.TCP相关
4.Socket
5.总结

五、算法与数据结构部分

1.Android数据结构学习之顺序表
2.Android数据结构学习之链表
3.Android数据结构学习之队列
4.Android数据结构学习之栈
5.Android数据结构学习之树
6.Android数据结构学习之 排序查找
7.Android数据结构学习之 动态规划

六、 Flutter部分

1.Flutter是啥玩意儿?
2.移动端跨平台技术对比
3.Dart语言
4.环境配置
5.Hello World
6.路由
7.widget
8.布局
9.动画
10.http请求
11.吐吐槽知识点总结

实战系列:MVP架构+NDK音频+Flutter+Kotlin实战等

资料内容很多,需要完整版的可以在评论区扣【1】免费领取

写在最后

同样是做Android开发,有的人工作5年工资没变化,有的人工作2年就已经年薪30W。这个现象或许前几年还不明显, 但随着近几年后端技术疯了一般的快速发展,人才水平的分化也越来越明显。竞争永远都是非常残酷的,毕竟成为一个架构师不是那么容易的,一个架构师的成长来自于机会,努力及天分 !以上学习资料希望能够对你的职业发展有所帮助;想要的同学可以私信我。最后祝大家早日拿到大厂offer!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值