我相信每个应届生都想能得到一个在大厂实习的机会,毕竟这会让之后的简历更加漂亮,也对于之后找工作会方便许多,进入大厂工作意味着平台好,薪资高、晋升空间大,学到的东西多,于是成为人人都想进的理想地方,那在大厂中的程序员是怎么样的呢?

知乎上就有这样的问题——**在大厂做程序员有多幸福?**跟着小编来看看各位进入大厂的“牛人”是怎么凡尔赛的~

大厂——每个人的理想地方

知乎某回答1:

哈哈哈哈,这确定不是在yygq?这个回答,下面的评论也是非常精彩。

看来在大厂能学到不少知识是真的,只是这些知识是一些新词汇,比如赋能、抓手、闭环、链路、反哺……程序员,这些你都学会(废)了吗?

知乎某回答2:

对于大厂,相信每个人都是有所期待的,虽然经常听到一些大厂加班严重,经常996等内容,但是如果有机会进大厂工作,相信还是会有很多人选择的,就像上面这个回答里说的,进入大厂就像个围城,外面的人想进去,里面也有人的想出来

大厂有大厂的优势,但是最终还是需要看你做的项目好坏,就像网友说的,如果碰上一个不好的项目,可能就只能跟着领导喝一口汤了。

在大厂光鲜的背书后面,我们也能看到其背后的艰辛。那么对于Android学习者会在学习路上遇到哪些困难呢?接下来我们一起看看~

关于Android学习中会遇到的一些瓶颈

在Android初学之路上,每个Android实习生都会遇到各式各样的瓶颈。

克服瓶颈要从克服自己对一切瓶颈的偏见做起,把逃避瓶颈的行为变成享受瓶颈带来的乐趣的过程。要知道喜力比国产啤酒贵好多的一条重要原因就在于喜力的瓶颈:你现在去买一瓶玻璃瓶装喜力,用手握住瓶颈,大拇指按住那颗星,然后用你最熟悉的动作撸瓶颈,你会喜欢这种手感的。

接下来是一些常见的Android初学者在学习路上会遇到的问题:

Android布局和屏幕适配

Android初学者遇到的第一个瓶颈就是Android 布局的编写。首先Android的layout是用XML写的,而大多数大学生在大学阶段学习网页制作,都是用HTML绘制基本控件,然后用CSS进行页面美化;而Android却用XML绘制界面,style也是用XML写。学习XML最重要的熟能生巧,多练习练习就顺手了,另外XML和HTML有很多相似的地方,比如padding与margin的区别都是一样的。

此外Android系统碎片化严重,不同型号的手机有着不同的屏幕尺寸和不同的分辨率。为了解决这个问题,我们可以把背景贴图做成.9png格式,并且用内容和padding撑起控件。如果需要适配的机型实在太极端,我们可以百分比布局解决这个问题——PercentRelativeLayout和PercentFrameLayout等。

不同组件的生命周期

Android初学者遇到的第二个瓶颈就是生命周期,Android的生命周期主要有Activity生命周期、Fragment生命周期、Service生命周期三种。学不好Activity的生命周期,你做不好界面跳转的特效,也做不好系统Activity(相机等)的回调;学不好Fragment的生命周期,你写不出惰性加载;学不好Service的生命周期,你连后台运行都做不到。学习生命周期,要记住“文无图时少直观,图无文时难入微”,用图表辅助记忆。

网络请求和json解析

Android是移动互联网的重要组成部分,网络请求和Json解析是Android学习中的重要环节,很多初学者会在此处遭遇瓶颈。

为了突破这个瓶颈,初学者应该先选择合适的框架以尽快解决实习工作中的问题。常用的网络请求框架有Volley和OKHttp等;常见的json解析框架有Gson和Jackson等,如果你的求职目标是阿里巴巴集团,学习一下FastJson是可以助你一臂之力的;此外还有把网络请求和json解析整合到一起的Retrofit。

实习生初入企业,要记住用工作时间解决工作中的问题,知识的探索和能力的提升要利用自己的业余时间。下班后要学习以上框架的源码和实现原理,比如Android的网络请求必须在子线程中进行,否则会造成NetworkOnMainThreadException;现在的网络请求都是基于HttpURLConnection的,任何大谈HttpClient的资料都是过时的;还要弄清楚Handler的原理、ThreadPool的原理、AsyncTask的原理等;json解析方面的知识还有JSONObject和JSONArray的区别、Java的泛型机制、Java的反射机制等等。

图片加载和内存优化

Android机的价位一般比iPhone低得多,所以Android系统比iOS系统更容易遇到内存溢出问题(OutOfMemoryError,简称:OOM),这也是初学者常见的学习瓶颈之一。OOM最多发于图片,其次布局中嵌入的地图、视频等吃内存大户也是OOM的罪魁祸首之一。

解决加载图片的OOM应该先选择Picasso、Glide、Fresco等框架以尽快解决工作中的问题,然后利用个人时间学习Android缓存机制——LruCache和DiskLruCache;地图、视频的OOM应该在界面被回收时清除控件、停止服务;其他的OOM应该用弱引用和软引用解决。

RecyclerView

Android最常用也是最复杂的控件是RecyclerView(2014及以前的资料是ListView),因为滑动冲突、列表中数据修改等问题都会在RecyclerView中体现。为了克服这些瓶颈,必须要搞清楚RecyclerView.Adapter(也包括以前的BaseAdapter)的工作原理,ViewHolder的工作原理,以及ViewGroup的事件分发机制等内容,这些内容不下大力气学习是不能完全掌握的。

克服了以上瓶颈后,估计实习生也该到了毕业转正的时间了,进阶路上还有新的瓶颈。新瓶颈有新的玩法:这种玩法需要双手操作,如果用另一只手按住打开着的瓶口撸瓶颈,你可以一边撸一边使劲摇,玩HIGH的时候突然松开按住瓶口的手。

自定义控件

Android自带的控件不能满足太复杂的界面控件需求,因此绘制自定义控件也是Android工程师的必备技能。
绘制自定义控件需要掌握View的几个常见方法的重写,如onDraw()、onMeasure()、onLayout()等;对事件分发机制的了解也应该比RecyclerView更精熟;此外还需要掌握Canvas和Animator的相关知识,Android的Canvas和HTML5的Canvas有很多相似性,可以以此突破Canvas的学习瓶颈。

进程间通信

不同App之间以及同一个App的不同进程之间需要多进程通信,多进程通信在视频播放等占用大量资源的场合是很有必要的。进程间通信的初学者百度“多进程”会被AIDL绕得云里雾里,其实你只要试试Messenger框架,一切进程间通信的难题都会迎刃而解。

Android性能全面优化和crash分析

Android初学者会遇到的最后一个瓶颈是Android性能全面优化。前面提到的Android内存优化是Android性能优化中最重要的部分,但也只是一小部分,Android性能优化还包括安装包体量优化、GUI绘制优化、电量和流量优化等。

GUI方面可以利用ViewStub和去掉其他不必要的背景来避免OverDraw;安装包体积可以用压缩图片、去除重复且无用的依赖等方式进行优化;电量和流量可以通过用推送代替轮询、用GZIP文件格式下载过长的数据流等方式进行优化。

在移动应用性能方面,崩溃(Crash)带来的影响是最为严重的,Crash指App在运行过程中出现大段用户正在进行的操作的强制关闭现象。Crash会造成关键业务中断、产品口碑变差、用户流失等问题。Crash可以用UncaughtExceptionHandler捕捉,也可以利用UMeng和Bugly等服务分析,请注意:如果打算跳槽到阿里,就用UMeng,想要跳槽到腾讯,就用Bugly。

突破了上述所有瓶颈以后,Android程序员的技术水平都可以达到独当一面的程度,甩掉了初学者帽子的程序员会发现头顶不再是瓶颈,而是从技术到管理的天花板。

Android进阶学习路上的技能储备

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典

  • Android学习路线图

首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!

  • 模块化学习资源

接下来是每个模块我整理出来的文档学习资料,帮助大家更细致化的学习。

这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!

  • 模块化学习资源

接下来是每个模块我整理出来的文档学习资料,帮助大家更细致化的学习。

初级开发:我还在Android路上披荆斩棘,转眼就被大厂的程序员凡尔赛了(1)相关推荐

  1. 初级开发:我还在Android路上披荆斩棘,转眼就被大厂的程序员凡尔赛了

    前言 现在对于大多数应届生来说,现在正是紧张的时候,不仅需要忙着毕业论文和答辩的事情,还需要忙碌校招面试的事情.对于IT专业的学生来说,现在就要面对各大IT企业面试官的考验,很多人会成为从0开始的An ...

  2. 《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

    <Android移动应用基础教程>(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 An ...

  3. 开发Java,市值一度超过两千亿美元,造福无数程序员的Sun公司,也最终“陨落”...

    "那些疯狂到认为自己能够改变世界的人,才是真正能够改变世界的人." 这是乔布斯曾说过的话,也是很多技术大佬都会坚守的信念.最突出的表现则在于他们性格方面足够的特立独行,甚至是有些偏 ...

  4. 豆瓣评分 8.6,近 5 万读者学习的 Android 经典最新版出版,承载无数程序员的回忆......

    题图 | 新的小绿人 © Google "出色向导" 对新手来说,学习 Android 开发一开始会很难.就像初次踏入异国他乡一样,即使会说当地语言,一开始也绝不会有舒服自在的感觉 ...

  5. 我,三十岁,还在做技术,被中年危机倒逼的程序员该何去何从?

    许多读者都有这样的疑问,那些30岁的程序员,后来都怎么样了? 作为过来人,老K把职场人的发展整理成了"工型理论",它是老K结合自己将近20年的职场生涯,带过上千人下属,以及对管理学 ...

  6. 好奇那些进了大厂的程序员面试前都做了哪些准备?Android大厂面试官全套教程教你:这样准备面试顺利拿到offer

    同时由于疫情的关系,从去年开始倒闭的小公司特别多,进一步加剧了整体的就业形势.所以准备要裸辞的同学最好掂量下自己,除非已经没法忍受或者确实实力够硬,否则还是骑驴找马最好. 在工作中积累 当你还比较年轻 ...

  7. Android、Java要收费了!学霸程序员怒捅马蜂窝,沙特记者命运?GitHub挂了!

    Linux编程点击右侧关注,免费入门到精通! 参考:新浪,新浪科技,网络等 头条热点 学霸程序员怒捅马蜂窝,175亿独角兽因此缩水至20亿! 10月21日,一篇名为<估值 175 亿的旅游独角兽 ...

  8. 还担心35岁失业嘛?这才是程序员的职业规划

    龙珠悟空,一个写故事的程序员 <小白学java>第三章:初始java白月光,窥见java之美(二) 序言:"我们都是阴沟里的虫子,但总还是得有人仰望星空" ---< ...

  9. 使用 ABAP 开发的一个基于 Web Socket 的小工具,能提高程序员日常工作效率

    程序员区别于其他岗位的一个优势是,我们可以充分利用自己掌握的编程语言,将平日一些琐碎的,重复的日常工作,通过代码来实现自动化,从而省下更多的时间来投入到技术含量更高的工作中,提高工作效率. 本文介绍一 ...

最新文章

  1. VMware出现“该虚拟机似乎正在使用中 请获取所有权”
  2. linux的虚拟文件系统VFS
  3. c调用python脚本如何获取结果_使用C++调用Python代码的方法详解
  4. 与众不同 制作会唱歌的WinRAR - imsoft.cnblogs
  5. phpStudy下载安装+配置站点+You don't have permission to access / on this server错误解决
  6. http断点续传的原理
  7. ad15的stc元件库_STC8系列 STC15系列STCMCU Protel_Altium原理图PCB器件封装库文件
  8. 一淘网发声明否认胁迫导航网站合作
  9. python中字节(bytes)是如何转换成整型(long)的?
  10. 服务器虚拟化后有几个io地址,CPU虚拟化,内存虚拟化和IO虚拟化
  11. 手机怎样识别图片中的文字?
  12. python forward函数_PyTorch之前向传播函数自动调用forward
  13. MBR+双硬盘(固态+机械)双系统(win+ubuntu21.04)装机教程
  14. bert中文使用总结
  15. 标准正态分布alpha分位点
  16. 查找和排序方法归类----C和C++
  17. IPP简介及windows下安装说明
  18. python与pdf与word(datawhale组队学习task3)
  19. python读csv最快方法_python读有汉字的csv如何让python变得更快?
  20. 软分叉和硬分叉的区别

热门文章

  1. android 权限默认授予,AOSP 权限的默认授予
  2. Altium designer 关于覆铜层的一些总结
  3. 一位总经理的辞职信及答复
  4. 常见信息安全威胁(病毒等)
  5. AngularJS是什么?
  6. 真假屏幕测试软件,别再担心电视屏幕问题了!三分钟教你在家自己检测
  7. 【爬虫入门】股票数据爬取
  8. sql优化-这个排版较好-转载
  9. 抖音品质建设 - iOS启动优化《实战篇》
  10. CodeForces 660C Hard Process