当前位置:   article > 正文

淦!在外包开发的三年给整废了,备战两个月终拿到Android阿里字节哈啰offer总结_阿里和哈啰去哪个

阿里和哈啰去哪个

第一次进入外包公司

开始面试的时候,找了两个月,一开始外包公司直拒,投递了 Factory Club,中控,医惠科技等等,可是都没有回音。11 月份已经没有多少工作机会了,迫切的需要一份工作,于是海投,我进入第一家外包公司。

由于我这是第一次进外包公司,所以连薪水都没有多要,最后自己通过公司进入了工行杭研中心,开始外包的坑之路~~(签合同的时候,还签了保密协议!!)

入职体验很不好

加入之后的第一个项目是银行外包金融App项目,因为要汇报每日的开发进度,所以我们是驻场开发。

入职后,根本没人带,前期就是先进行一系列考试,什么安全培训、职业技能测验培训,培训完会有对应的考试。

当然了这些都是占用我们下班时间进行的,体验极差的一点就是,工行项目组长每天都会拉我们外包工开晨会,时间基本都快半小时了,就一圈人站在一块向组长汇报昨天的工作进度,今天的工作开展。

第二次外包经历

经历了一次外包,后来我辞职后就没找外包了,通过了广电运通的面试。

面试时候就感觉不靠谱,因为面试地点是位于近江附近的望江国际里面的温州银行,面试前网上搜了广电运通的信息,说是国企,所以我就硬着头皮接下 offer 了,没想到面试 Android 结果做的 C++,而且也是驻场开发。

入职一月半就又离职了,这时候我的简历就很糟糕了,8 个月的外包经历又加上近期工作只有一个半月,然后我又进了外包。这次是华为外包。

入职

技术面试只有一轮,是华为员工进行的电话面试,大概半个多小时,都是 Android 基础又常见的面试题,但是热修复、内存泄漏、内存优化、插件化、组件化、okhttp竟然一个问题都没问。

隔天,某软国际 hr 通知我面试通过,还要接受 hrbp 的电话面试。顺利结束后,给我发了链接是牛客 Android 在线笔试(感觉这个顺序给弄反了),然后就是到滨江这边的和瑞科技园签合同,hr 和我说,我要先去华为办公一个月再回和瑞科技园办公,我签的是 FP 模式,不是驻场开发。

前一个礼拜都在进行信息安全、网络安全等培训,培训通过后说是才给办华为工卡。

作为过来人的体会,外包被歧视真的是一个社会问题。

大家说是一个地方工作,但是那种隐形的阶级感是在的,就是有很多正式员工很有优越感去使唤外派员工。

实际上就是这样,外包人员不可能接触到核心一点的东西,内部的很多文档,点进去可能都没有权限。加班只能调休没有加班费。

有时候仔细想想,外包和大厂在智商上的差距有那么大吗?

辞去第二份外包工作之后,花了大量的时间复习准备面试。杭州的一二线公司基本上都去面试过了,包括阿里,字节,快手,滴滴,有赞,涂鸦,哈啰(腾讯没有客户端的hc),其中也拿了几个不错的offer。这里就简单分享下部分面试题和准备工作吧:

备战大厂


战况:

  • 滴滴:二面挂

  • 快手:一面挂

  • 阿里:三轮技术面 + 一轮HR 面

  • 有赞:三轮技术面 + 一轮HR 面

  • 哈啰出行:三轮技术面 + 一轮HR 面

  • 涂鸦智能:三轮技术面 + 一轮HR 面

  • 字节跳动:三轮技术面 + 一轮HR 面

关于面试前的准备工作,首先就是先把简历给优化了,毕竟简历算的上是大厂面试的墙门转了。

写一份不被扔垃圾桶的简历

  • 简约清晰:技术人的简历可以简约一点,简约不等于简单,你的项目经历和技术深度可以很深,但是体现在简历上一定高度概括,简历上不适合长篇大论的写记叙文,议论文。

  • 突出重点:一份简历如果全文都是做了系统,参与了功能,面试官要自己找重点,所以最好简历直接开门见山,我在项目中扮演什么角色,搞了什么大事情,拿到什么结果,最好是带数据作为支撑的,有个词叫可量化,如果就是访问量小但流程复杂度高,你可以总结怎么做模块化开发、流程灵活性配置、效率提升等等,写到JVM 内存调优你可以写新生代/老年代内存回收时间提升了 **ms等等,这都是参考,可以辅助一些图或表在简历中,直观来说一图二表三文字,当然前提是你图表确实有亮点。

  • 细节:细节决定成败,有几个细节要关注:1.不要有错别字;2.前后逻辑一致,数据不要自相矛盾;3.简历不要压缩、不要群发、邮件带正文介绍自己;4.排版干净清爽

由于本人之前的职级有点低,所以这次的目标岗位是P6+ ~ P7岗(虽然最终还是只拿到了P6+的岗位)。如果有高P的大佬,那么下面的面试题看看就好,意义不大。

滴滴

一面:

  • 简单介绍下项目中遇到的难题,怎么解决的?

  • 大图加载的优化方案

  • java注解元注解有哪些,有什么区别

  • 简要讲解下APT技术

  • ButterKnife为什么在子module要用R2文件,子module为什么不能使用switch-case来对view的id进行区别处理

  • Activity.getWindow什么时候为空

  • Handler 发送延迟消息,是否一定会在指定时间以后执行。异步消息怎么判断。消息列表是按什么顺序排列

  • Looper在没有消息时,怎么处理,如何进行线程阻塞

二面:

  • 简要介绍下项目中的亮点

  • 主线程修改UI为什么会导致崩溃,怎么解决的

  • 为什么Android要设计单线程操作UI

  • 简单介绍下Activity启动流程

  • Handler机制原理, Looper的阻塞机制

  • 内存优化做过哪些,用过哪些工具

快手面试

一面:

  • 如何计算bitmap大小,如何检测bitmap是否超过了1M,并打印

  • 如何给在ImageView里面展示一个带边框的bitmap

  • Handler机制

  • ANR有哪些,怎么监控

  • LRUCache原理

  • 什么情况下会出现ConcurrentModifyException,为什么会出现,怎么解决

  • 线程池使用过没,有哪些参数,什么作用

  • HashMap原理

  • SparseArray的原理

  • SparseArray和HashMap的查找和插入时间复杂度是多少

  • Android打包流程, 字节码插桩在哪个流程中实现

  • 热更新有了解过么,tinker的原理是什么,有什么缺点。 有没有其他框架没有这个缺点的,怎么实现的

  • Http 1.0,Http1.1 ,Http 2.0的区别 keep-alive和多路复用有啥区别

  • 了解过HttpDNS么,什么作用

  • 手写一个生产者和消费者模型

阿里面试

一面:

  • 卡顿检测怎么做的,为什么要这么做,会有兼容问题么

  • 如果降低crash率的,有做哪些处理

  • 觉得哪些东西做的比较好,说一下

  • jsBridge是怎么实现的,如果客户端向前端发送消息怎么发送。

  • 在图片框架选型的时候怎么考虑的,Fresco,Piccaso,Glide之间的优缺点

  • 自定义一个从底部滑出的抽屉,该怎么做,需要有哪些考虑的点

  • 一个简单的RecyclerView,说一下手势Down,Move,Up的分发。如果TextView上面设置了点击事件,那么分发逻辑是怎么样的

  • 项目是怎么进行架构设计的

  • 项目是否采用模块化处理,怎么做的,怎么进行交互

  • git-merge和git-rebase的区别

二面:

  • 现在项目的整体设计是怎么样的

  • 降低crash率做了哪些处理

  • 怎么检测线上卡顿问题

  • kotlin相比于java有哪些优势

  • 什么时机可以认为页面加载完成

  • 内存优化有做过哪些

  • 讲下merge和include

  • 讲下运营商DNS劫持,又是如何防止DNS劫持

  • 怎么使用Fragment的, 是采用一个Activity多个Fragment的形式么

  • 有没有使用过一些跨端技术

三面:

  • 项目合并做了哪些事情

  • 怎么检测线上卡顿

  • 怎么检测线上内存泄漏

  • 做了哪些性能优化

  • 最近研究了哪些新技术,谈谈看法

  • 何如学习提高自己的技术

  • 说说看自己的优劣势

  • 对于现在做的产品有什么看法和见解,怎么看待竞品

有赞面试

一面:

  • 组件化的架构怎么设计的

  • 组件之间怎么通信,除了EventBus还有其他哪些了解过

  • EventBus是怎么工作的

  • Router框架怎么设计的

  • LiveData为什么具有生命周期感知能力,如何实现的

  • APT怎么实现,如何生成代码文件

  • MVP与MVVM的区别

  • MVP为什么会存在内存泄漏的可能,怎么解决

  • 线程池的创建有哪些参数,有什么作用

  • 有用过kotlin么?object关键主要应用在哪里? let和run的区别

  • GC有哪些算法,现代虚拟机基本采用什么算法,为什么这么做

  • Activity的启动流程

  • 在APP进程还没创建的时候,会做哪些额外操作,app进程是谁创建的

  • View是如何显示出来的

  • 如何把像素点显示到屏幕上

  • Glide三级缓存策略有了解过么

  • Glide为什么会感知生命周期

  • 做过哪些性能优化

  • 最近写的这篇博客写的什么,遇到了什么问题,怎么解决

二面:

  • 讲讲项目的组成

  • retrofit2原理

  • 用过rxjava2哪些操作符,zip什么作用。

  • 热修复的原理

  • APT技术怎么实现,如何理解AOP,有过哪些应用场景

  • MVC,MVP,MVVM的区别

  • 讲一下LiveData+ViewModel怎么实现生命周期, 屏幕旋转时,会保存数据么

  • 有没有碰到过LiveData接收多次消息的问题,LiveData的postValue和setValue有什么区别,平时怎么使用

  • glide怎么实现生命周期的监听

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

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

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

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

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

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

KFzaWo-1711878424912)]
img

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

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

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-8PUfjna2-1711878424912)]

[外链图片转存中…(img-d3jNXO9w-1711878424912)]

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/606667
推荐阅读
相关标签
  

闽ICP备14008679号