2024全球经济衰退下,程序员也能像“姐姐们,Android入门教程

HR面又挂了,实习的时候也是HR挂了,让我不得不怀疑我是不是心理有问题了,哈哈。

三请 远景能源 闪亮登场 offer到手

由于实习的时候拿到了实习offer,所以走的绿卡流程。在上海实习的,就直接去公司面试的。

一面技术

  1. 自我介绍
  2. 说了下?做的是什么?
  3. 使用的UI自动化测试框架的原理是怎么样的?讨论一下iOS是如何进行UI自动化测试的
  4. 对热修复的理解;能否修复so包?
  5. GC;碰到的OOM情况;聊到了参加的阿里中间件比赛,说了下当时的思路;如何进行内存分析
  6. TCP编程时的协议是如何制定的;有什么改进的地方;PB的编码方式是如何的,如何可以节约空间的。
  7. 聊了聊RN以及对技术框架选取的一些看法

HR面

HR面比较简单

通过技术面后做了两个测评,类似心理、情商评价之类的。

高管面

高管面比较简单,就QQ视频了5分钟,简单聊了下实习的氛围和以后的打算。

offer到手,美滋滋!

四请 有赞

一面 Android开发工程师

  1. 自我介绍
  2. 如何学习Android
  3. 如何设计一套图片加载框架;三级缓存。为什么选择LruCache?
  4. 了解过launchMode吗?使用过的具体模式的场景?微博分享页面应该使用哪种launchMode?
  5. 知道内存泄漏吗?了解的内存泄漏?Handler在哪种情况下会引起内存泄漏?什么好的工具可以检测内存泄漏?
  6. IntentService原理
  7. 用过WebView吗?
  8. 如何实现一个图片浏览器的思路?
  9. 有什么想要问的?

附赠一份有赞 Java开发工程师 的面经

一面

  1. 自我介绍
  2. 项目提问
  3. TCP连接;为什么不是两次;为什么不是三次
  4. HTTP请求报文结构;GET与POST请求;HTTP版本知道哪些,区别是什么
  5. 进程调度算法有哪些;死锁的必要条件;如何消除;如何避免;银行家算法;
  6. Java的集合;HashMap的结构;为什么改成红黑树;阻塞队列一般用在什么地方
  7. Java泛型;泛型擦除;任何情况下都会发生泛型擦除吗?
  8. 双亲委派机制;两个类被不同的类加载器加载,是同一个类吗?
  9. 如何实现一个线程;线程的状态机;什么情况会使线程阻塞;ThreadLocal;几种线程池;如何自己设计一个线程池

二面

  1. 自我介绍
  2. 自己做的app是怎么做的;
  3. Java的GC;ActiveMq看过源码吗?MySql学习过吗?
  4. 使用过哪些设计模式?
  5. 编程。主要考察编程能力和编程习惯。一个字符串,统计某个字母出现最多次;写好之后,改了需求,找出出现次数最多的十个字母
  6. 双亲委派模型;为什么要双亲委派模型
  7. 提问问题

五请 平台大佬 头条 Android开发工程师 offer

终面(招拿到了offer,绿卡)

  1. 实习项目介绍;如何实现的;为什么使用反射;XML解析的方式;DOM和SAX解析的区别;注解的分类;ButterKnife实现原理
  2. MVP模型是怎么样的;如何实现的;P层是怎么实现的
  3. 为什么选用OkHttp库;拦截器链是如何实现的;自己实现的拦截器是用于哪里的;是如何做DNS的;
  4. 处于onResume的activity a启动activity b按照时间顺序生命周期是如何调用的;onSaveInstanceState方***在什么情况下调用
  5. View的事件分发机制;ACTION_CANCEL什么时候被调用,一般switch-case中如何处理;
  6. Android常见引起内存泄漏的情况;Handler引起的内存泄漏是怎样的一个过程;使用过哪些工具进行内存泄漏问题;LeakCanary的工作原理是怎样的;MAT如何进行内存泄漏分析;
  7. HTTP2和HTTP1.1的区别。HTTP/2 新特性浅析
  8. 手写算法题。一个二维数组,左到右有序,上到下有序,如何找一个值。剑指offer原题。
  9. 看过哪些源码;如何看源码;如何学习Android

一个月后拿到了意向书,互娱部门,做抖音。

六请 阿里文娱 优酷 Adnroid开发工程师 挂

终面(春招拿到了实习offer,直通终面)

  1. 自我介绍,项目介绍
  2. 阅读类APP有没有后台?没有后台的话,每一个app都要去获取多余内容可以怎么改进?爬虫怎么做的?
  3. ImageLoader怎么实现的?三级缓存怎么做的?保存图片在内存中会发生OOM吗?
  4. MVP模式的理解
  5. 信息推送怎么实现的?协议怎么设计的?AES算法是怎样的?如何保证数据的正确性和不遗漏消息?
  6. 实习的项目是如何做的?怎么去匹配XML和TXT中的字段?
  7. UML了解吗?软件开发流程是怎样的?
  8. 设计模式了解吗?如果一个支付的模块,会调用不同银行的接口,不同银行的接口所需参数和返回参数均不同,使用哪种设计模式?
  9. Android机型适配怎么做?如何捕获Crash?
  10. 本科和研究生均不是计算机的,怎么学习的?
  11. HR问了工作地点的意向;投了哪些公司;目前拿到了哪些offer
  12. 提问了面试官关于Android APP测试的问题,了解了行业情形

1v2,技术经理和HR,HR是远程实时听录音的

半个多月后问hr,挂了。真是坑比啊,由于把我简历锁着,我一直报不了杭州这边的阿里,笔试面试都没有机会。rlg了

七请 网易 内推 Android开发工程师 挂

一面

  1. 自我介绍;除了Android还做了其他的哪些项目;
  2. Activity的lauchMode;用过哪些;说了一个他们遇到的问题,让帮分析分析
  3. 知道的网络库有哪些;Volley和OkHttp分别适合用在什么场景下
  4. ImageLoader的三级缓存是怎么实现的;磁盘缓存是怎么实现的;知道哪些图片加载框架
  5. 内存泄漏如何检测;LeakCanary的原理;Handler是如何造成内存泄漏的;内部类都会造成内存泄漏吗?
  6. 参加的阿里中间件比赛是怎样的;简单实现一个生产者-消费者
  7. Java的线程池有哪几种;需要定时任务使用哪种;CachedThreadPoolExecutor是怎样的
  8. 应用通信是如何确保安全的;Https是怎样的;Android如果采用Https通信的话,客户端这边需要有什么
  9. 提问问题

二面

  1. 对Android框架层了解吗?AMS和WMS了解吗? (说了了解AMS,噩梦由此开始)
  2. Fragment用过吗?Activity如何传参给Fragment?为什么用setArgument传参,而不是使用带有参数的构造器?
  3. 知道系统杀进程吗?如果栈中从底到顶现在是A,B,C,然后系统把应用杀了,重新点击,显示的是哪个Activity?这时如果C里面有Fragment是怎样恢复的?(中途解释了为什么要用setArgument传参,说在走Activity的生命周期之前会先有一个恢复过程,反正听的云里雾里)栈下面的A,B存不存在
  4. Binder机制;为什么Binder是一次拷贝
  5. TCP的连接为什么是三次握手,不是两次也不是四次
  6. Activity和Service有什么区别;Service是谁管理的;bindService需要使用到Binder吗?系统服务和自定义服务启动有什么区别?
  7. 对协议的理解

秋招正式批的时候,又做了网易笔试,后来又通知去笔试,但由于已确定去51信用卡了,就没有再去杭州面试。

总结

准确的讲,找工作是从春招开始的,因为当初的找实习也是为了秋招找工作增加经验。关于实习的面试经历,可以参考2017春招实习-Android开发面经-bat,td等公司,最终出于工作地点的考虑和卡中心的福利,选择了去卡中心实习,也顺利转正了。由于比较想去杭州发展,所以重点投了杭州的一些独角兽公司,比如51信用卡、有赞、挖财、贝贝等等,也算有幸拿到了两家的offer,所以最后也选择了51信用卡。关于校招,想说的很多,经验也有不少,总体来说:基础(算法、语言、网络、操作系统…)+项目+面试表现。

基础与算法

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

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

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

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

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip204888 备注Android获取(资料价值较高,非无偿)
img

文末

架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了,我们需要一个真正身经百战的架构师才能讲解透彻其中蕴含的深理。

移动架构师

系统学习技术大纲

一线互联网Android面试题总结含详解(初级到高级专题)

image

[外链图片转存中…(img-Kwe1cSiS-1711527491673)]

[外链图片转存中…(img-l3Ba0upD-1711527491673)]

一线互联网Android面试题总结含详解(初级到高级专题)

[外链图片转存中…(img-wQT4yaoQ-1711527491674)]

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

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值