首页 > 编程语言 >Android程序员职场规划:让你从职场小白一步一步走进一线公司!

Android程序员职场规划:让你从职场小白一步一步走进一线公司!

时间:2024-04-01 18:59:52浏览次数:17  
标签:面试题 一步 学习 面试 大厂 Android 多线程 职场

小公司不可怕,可怕的是一旦业务稳定,你自己不找点事做提升自己。在尽所能的完善公司APP的过程中,你的能力也在锻炼。

趁年轻,一定要有闯劲,跳槽这个想法可以有,没必要觉得自己亏欠了谁。对于工作一年到三年的新人来说,想清楚两点就行:

第一,当前公司环境确实糟糕,技术上没有提升,职位上没有上升的空间,更重要的是,钱给不到位。

第二,自己做好了准备,跳槽到下一家,不仅能涨薪,还能有上升的空间(技术和职位)。

如果都想清楚了,那就不要犹豫,走就对了!越早越好!

怎么进入中型公司?

中型规模的公司有一定研发人员,一般情况下会有5 - 12 Android 开发维护一个 App。团队成员有一定的项目开发经验,不会像小公司经理一样问你:「这个功能会不会做,能不能独立开发App」这种毫无水平的问题。

举个例子,中型规模的团队可能会问到:

HashMap 数据结构是怎样的,可以多线程使用吗,多线程需要使用哪些集合?

只要你能回答上以下内容,面试官会微微一笑

数组作为哈希桶,扩容时候已链表形式,超过8个节点结构改为红黑树。 不能多线程使用,多线程可以用 ConcurrentHashMap

可能有些面试官会追加继续问:

ConcurrentHashMap 为什么可以多线程使用, jdk 1.7 和 1.8 有何区别

如果能回答

1.7 使用 Reentrantlock , 将哈希桶分段,每个 Segment 作为一个锁粒度 1.8 使用 synchronized , 锁粒度更细,锁对象是每个链表的表头

能往上面的内容聊一个大概,面试官应该会欣慰的认可你的水准。

可以说如果将市面上大部分常见的面试题掌握,那么进入中型的公司是力所能及的。

中型公司一般是 2 轮技术面试,第一轮成员骨干或者组长面,聊个大概水平和深度。第二轮总监或者技术经理面,聊聊项目或者技术。(一般总监不会参与编写Android代码,所以如果问技术,那么问网络相关的可能性最大)

  • 有学历,有背景(履历不错)

  • 有博客有亮点

  • 掌握常见面试题(java & Android)

  • 平时有记录项目中遇到的问题,并能解决

  • 表达能力强

  • 运气加成,问的都会

符合上述 3 点或者以上,进入中型公司应该不在话下、游刃有余。

怎么挤进一线大厂

腾讯、阿里巴巴、字节跳动、华为、美团、滴滴、百度 …

一线大厂一般有很多部门负责不同的项目,里面不乏知名大学毕业,技术大牛,往往在某一领域已经做到极致,有专门的团队负责某一功能点(性能优化、性能监控、中间件工具组件等),能投入人力物力去做好项目,并且薪酬福利可观,只是工作强度会很大。

在上家公司期间,有幸我们组有位刚毕业的小伙计,从他身上看到很多优秀的学习习惯和方法,在这里不得不承认比你优秀的人还比你努力,是什么能让他变得如此优秀?

  • 多写多练,没有捷径 : 知识面广的人一定是不断积累形成的广度,一道难题他能解答,更多的可能在于 1. 这道题他做过 2. 做过相似的题型。

  • 善于思考,系统性学习 : 例如网络编程 TCP / UDP 工作中接触的概率不大,大多数人都是冲着面试去学的,百度谷歌一下 TCP / HTTP 面试相关,知道有三次握手、四次挥手滑动窗口等,但很难把这些知识内容关联成网状结构,看了没多久又会忘得差不多。这里我建议系统性学习,从文档、书籍中更全面更系统地了解这些内容,加入到大脑的一个记忆分支中。

  • 不要试水,一步到位 : 人都会有侥幸心理,抱着试试看的态度。编码、学习、或者是面试,没有一次性做到位的决心。事实上重构、重新开始、重新面试都会花费更多的时间。像大厂的面试周期都要半个月或者一个月,没有通过的话不仅浪费时间,而且这段时间心情复杂、焦虑、期盼。因此如果想面试跳槽,尽量一步到位、下定决心,把目标放高一些,进不了一线大厂也能找到一个好的公司。

进大厂需要如何准备



说实话想挤进大厂需要 7 分实力和 3 分机遇,并不是每个部门每个面试官都那么强,也是会有人在大厂里摸鱼或者更多的负责管理相关(软技能强)。

因此我们要做的是不断积累,提升知识面的广度和深度,也就是提升自己通过的概率

大厂面试通常会问答哪些问题呢?什么样的深度?
  • 广度 : 其实提问的题型大多数能够谷歌或者百度到,或者平时编码能接触到,我建议可以通过整理面试题、整理市场上Android相关书籍目录,罗列出包括网络编程、java、Android都有哪些知识点, 先归纳,再系统性学习。现在网络发达资料齐全的时代,找信息找资料并不难,难的是将这些信息资料分门别类地整理,并消化它们

这篇没有涵盖太多的面试题,更多的是提供大厂技术面试的一个方向,他们如何考察面试者的水平。可以说大厂会系统性的筛选面试者,一二轮面试通过 java、Android 的技术问题了解面试者的基础能力,能到达第三轮面试说明基础能力合格,再通过项目问题考察面试者的项目/合作能力,当然如果是在线面试会有可能让面试者写编程题或者算法题。如果有想看面试题的可以参考下面这几篇文章:

《Android 面试之必问Android基础》

《最新Android大厂高频面试题解析大全》

《2020-2021Android中高级面试题大全》

对于面试者来说,能做的就是提升面试通过率,系统性学习和总结。

更多Android知识点分享


架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:

1、深入理解Java泛型

2、注解深入浅出

3、并发编程

4、数据传输与序列化

5、Java虚拟机原理

6、高效IO

设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

总结

笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!
BATJ大厂Android高频面试题

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

BATJ大厂Android高频面试题

[外链图片转存中…(img-DDnwkwck-1711923096341)]

[外链图片转存中…(img-SSpmTSv7-1711923096341)]

[外链图片转存中…(img-WNuEBwFv-1711923096342)]

[外链图片转存中…(img-1LbthjB8-1711923096342)]

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

标签:面试题,一步,学习,面试,大厂,Android,多线程,职场
From: https://blog.csdn.net/I8929545452_VD/article/details/137216165

相关文章

  • Android Studio安装超详细步骤
    前言在移动互联网时代,作为一个测试工程师,更多的工作也是测试App,在学习了App自动化测试之后,想要实践,就要先安装好一套App自动化测试的环境,第一步就是要安装好AndroidStudio环境,这样就可以使用adb工具,并且使用appium来运行我们的测试脚本。本文就来给大家介绍一下安装androidstud......
  • uniapp 开发之原生Android插件
    开发须知在您阅读此文档时,我们假定您已经具备了相应Android应用开发经验,使用AndroidStudio开发过Android原生。也应该对HTML,JavaScript,CSS等有一定的了解,并且熟悉在JavaScript和JAVA环境下的JSON格式数据操作等。为了插件开发者更方便快捷的开发uni原生插件!2.9.8版本......
  • Android Binder——Java层介绍(三)
    一、简介       对于Android系统,一般是从java层到native层,再到kernel驱动层,形成一个完整的软件架构。Android系统中的BinderIPC通信机制的整体架构也是如此,Java和C++层都定义有同样功能的供应用程序使用的Binder接口。然而Java层中Framework层的......
  • Android+Fragment与Activity之间的信息传递——笔记3
    通过Bundle,Fragment与Activity之间的信息传递protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn2=findViewById(R.id.btn2);btn3=findViewById(R.......
  • Android-Frida环境部署
    前言什么是Android逆向开发?Android逆向开发是指对已发布的Android应用进行分析和破解,以了解应用程序的内部工作原理,获取应用程序的敏感信息,或者修改应用程序的行为。逆向开发可以帮助开发人员了解他人的代码目录安装ADB安装python和Friday模拟器安装Friday-server......
  • Android 10.0 lowmemorykiller低内存时,禁止某个app被kill掉功能实现
    1.前言在10.0的系统定制化开发中,在对于系统lowmemorykiller低内存的时候,应用保活功能是非常重要的,就是在低内存的情况下禁止某个app被杀掉,所以就需要从lowmemorykiller机制入手,在杀进程的相关流程中进行分析来实现进程避免被杀掉,接下来就来实现这个功能2.lowmemorykiller低......
  • android :java 计算器xml文件
     这个代码显示异常<?xmlversion="1.0"encoding="utf-8"?><GridLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="matc......
  • Android studio制作的mqtt协议通讯app,可用于搭建的meqx服务器,不可连接阿里云
    首先,在app目录下创建一个libs文件夹,导入相应的MQTT的jar包,然后右击jar包拉到最后找到Add...的一个选项,单击就OK了然后就是添加一些权限添加另一个layout的名字activity_main<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.......
  • Android 12 第一次运行就报错,Android面试题集锦在这里
    以前加上intent-filter的话,exported就默认是true。Android 12之后开始强制大家声明exported属性**。**例如:<application<activityandroid:name=“.actvitiy.MainActivity”android:exported=“true”<activityandroid:name=“.actvitiy.SchemeActivity”android:e......
  • 上海大厂Android面试经历;华为+小米,阿里高级算法专家公开10份资料
    第三方库的源码,Glide、OkHttp和Retrofit问得比较多,MVC,MVP和MVVM开发模式优缺点。常用设计模式理解问得也多,大公司Binder驱动和虚拟机方面问得比较多。3.数据结构和算法,Java的常用集合和实现原理比如ArrayList,LinkedHashMap的实现原理,缓存淘汰策略,红黑树和二叉......