Android开发Android开发经验谈Android技术知识

2020秋招知识点查漏补缺(预热期),大量高频大厂面试题集合(有

2020-07-10  本文已影响0人  e240c12aa0ad

前言

之前因为一直在忙于秋招,也没有进行进一步的学习,一直都在复习已有的知识,寻找自己的不足,所以没有更新过博客,现在拿到了百度,猿辅导以及Keep的offer(百度已签),打算结束秋招了,然后就写一篇自己的秋招的经历,对自己秋招时光的一个总结,并且给以后的学弟学妹一点建议吧。

自我介绍

先介绍一下我吧,我是一个双非学校的应届生,但是我并不是从大学一开始的时候就是学习Android的,我大一到大三上学期都在搞ACM竞赛,一直到去年打完青岛现场赛才退役(苦逼的没有拿到牌,如果拿到了可能秋招之路就会好很多吧)。

其实很多的ACMer在退役以后都会转入对算法岗的学习,在我面试的过程中也遇到过很多的面试官问过我这个问题。我个人不是特别想考研的,但是对与算法的学习可能还是需要借助研究生的实验室的资源,在本科可能我不能找到这种的资源,又因为我原来有学习过一点Android,所以我就转入了对Android的学习。

所以可能因为没有学习多久的原因(之前一直在腾讯课堂上跟着学习),我在春招没有找到实习,当时的面试官都是对于我的算法和数据结构这块非常认同,但是对于技术或者说是项目希望我能更好的学习,于是我4-5月都一直在写我的一个小项目SHIN_Music音乐播放器,但是因为这件项目我错过后续的秋招。所以我暑假就只能在家里自己进行学习。在这里要感谢几位学长,对我的关心和指导,给了我很多的面试内推,以及面试的时候的一些建议。

我投的所有公司(只多不少)

我听从了学长的建议投了很多的公司,这样对于我们这种双非学校的学生进入大厂的机会才会多。

image image

这就是我投的简历,可以看到我有8个走完了所有的流程,但是为什么我现在只有3个Offer,原因很大是因为学校,也可以是说我的能力不能抵消掉学校上与其他人的距离。但是这也是无可厚非的,因为别人的学历是因为原来别人的认真学习的结果,这也是公平的。

用原来我听到过的一句话:很多好的大学学计算机,并不是一开始就是教编程的,是先让你找到计算机的本质----计算。然后从底层开始学起,有可能在毕业的时候你就可以造出一台简单的计算机了。这就是我们和别人的区别。用人公司当然更加倾向与985,211的学生,就像我们倾向于BAT一样。

我的建议(菜鸡的建议,大佬请绕路):

我的经验

主要是下面几块的复习和准备:

自我介绍

自我介绍这种东西最好还是能够准备一下,因为你有准备的话,你才能够在面试的前一分钟更好的展现出自己,给自己有调节情绪的时间,如果当场想的话,可能就会很匆忙。

先看下我的自我介绍吧(PS:虽然不是很好,但是也展现了我的几个优势)

本人热情随和,具有进取精神和团队精神,擅长动手,有比较强的动手能力,勇于面对困难和挑战,有较好的分析问题与解决问题的能力工作认真负责,积极上进,能够吃苦耐劳,有良好的职业素质;掌握C#、NET、asp.net、 ajax、 xml 、javascript、html、css 、div+css等技术能够熟练使用sql、 mysql oracle数据库有、 winform相关项目开发经验!了解AVA语言能够使用JSP开发各种项目了解SSH框架!毕业后曾在x公司任程序员,通过一年的工作和学习,使我对当前主流的三层、MVC架构,asp.net有了更深的认识,能够熟练地开发相关项目。同时培养了我的团队合作精神和沟通能力,可以让我更快的融入新的工作团队,更好的为公司做出自己的贡献,实现自己的价值。本人致力与追求更好的软件技术,能够在这个行业中取得优秀的成绩,在公司团队中成为中坚的技术人才,为公司创造更多的财富从而让自己成为团队中一个不可或缺的份子

在自我介绍中要更好的体现出自己的优势,让面试官认可你,能找到你们的共同话题。

Android学习知识点

Java基础

Java高阶

数据结构及算法

数据结构

算法

Android基础

这份笔记是我把所有Android学习所需要的知识点按照分类系统的做了一个汇总,详细可以查看目录表:

Android高级工程师学习核心笔记

*

Android大厂面试题目

拼多多

一面

  1. 自我介绍

  2. 静态变量和实例变量的区别

  3. 重写equals()方法的注意事项;两个list是怎么判断是否相等的?

  4. HashTable和HashMap的区别;是否允许键为null

  5. 数据同步的方法;synchronized可以在对象上加锁吗?在方法上加锁是加在哪个对象上?

  6. 进程间读写文件的同步方式

  7. 了解哪些加密算法;AES和RSA的区别

  8. HTTP响应码

  9. 进程优先级;Android进程优先级

  10. 如何使一个Service处于另一个进程中;进程的服务保活

  11. Touch事件分发机制

  12. 如何实现客户端长连接的?重试策略是怎样的?如何监控HTTP请求的?

  13. 提问问题

二面

  1. 三道题选两道

  2. 大顶堆和栈的概念

  3. 最短路径算法概念

  4. 如何缓存HTTP

HR面

也不能算是HR面吧,简单聊了聊。

  1. 项目介绍;担任的角色

  2. 家庭情况;期望薪资

  3. 在哪里实习?实习的时候拿到过哪些offer

  4. 介绍了拼多多的待遇以及工作制度

三面

  1. 自我介绍;项目问了些

  2. 如果安卓是单线程的,那么如何处理界面刷新和网络操作两个模块

  3. 算法题。

网易

一面

  1. 自我介绍;除了Android还做了其他的哪些项目;

  2. Activity的lauchMode;用过哪些;说了一个他们遇到的问题,让帮分析分析

  3. 知道的网络库有哪些;Volley和OkHttp分别适合用在什么场景下

  4. ImageLoader的三级缓存是怎么实现的;磁盘缓存是怎么实现的;知道哪些图片加载框架

  5. 内存泄漏如何检测;LeakCanary的原理;Handler是如何造成内存泄漏的;内部类都会造成内存泄漏吗?

  6. 参加的阿里中间件比赛是怎样的;简单实现一个生产者-消费者

  7. Java的线程池有哪几种;需要定时任务使用哪种;CachedThreadPoolExecutor是怎样的

  8. 应用通信是如何确保安全的;Https是怎样的;Android如果采用Https通信的话,客户端这边需要有什么

  9. 提问问题

二面

  1. TCP的连接为什么是三次握手,不是两次也不是四次

  2. 对Android框架层了解吗?AMS和WMS了解吗? (说了了解AMS,噩梦由此开始)

  3. Fragment用过吗?Activity如何传参给Fragment?为什么用setArgument传参,而不是使用带有参数的构造器?

  4. 知道系统杀进程吗?如果栈中从底到顶现在是A,B,C,然后系统把应用杀了,重新点击,显示的是哪个Activity?这时如果C里面有Fragment是怎样恢复的?(中途解释了为什么要用setArgument传参,说在走Activity的生命周期之前会先有一个恢复过程,反正听的云里雾里)栈下面的A,B存不存在

  5. Binder机制;为什么Binder是一次拷贝

新美大

一面

  1. 自我介绍

  2. 为什么选用OkHttp?为什么用MVP模式?

  3. ImageLoader的三级缓存怎么做的;OkHttp的磁盘缓存怎么做的?

  4. 如何删除文章的广告之类的?有遇到不符合的情况吗?

  5. HashMap是线程安全的吗?HashMap线程不安全会造成什么现象?如何使HashMap变为线程安全的?

  6. Java的内存模型;GC;遇到过OOM情况吗?有什么可以检测内存泄露的工具

  7. 文章列表用的什么什么控件?ListView如何优化?RecyclerView用过吗?和ListView的区别

  8. 应用中有几个Activity;ViewPager嵌套Fragment怎么用,遇到过什么坑没?

  9. 自定义View时自定义属性该怎么做?

  10. 印象最深刻的项目,或难点

二面

  1. 自我介绍

  2. 界面展示用的ListView还是RecyclerView?如何做文章的过滤的?如果改成别的网站需要怎么做?

  3. ImageLoader怎么实现的?内存缓存使用的是什么策略?

  4. 项目中TCP+HTTP+JSON是怎么回事?

  5. android ui自动化测试

  6. 实习的项目

  7. 对Kotlin的了解;准备让用Kotlin写一个界面的

  8. 给了一个布局,让说说看怎么编写

  9. 了解啥新技术

  10. 问问题

三面

  1. 自我介绍

  2. 为什么选用AES加密?

  3. 全程没聊技术,介绍他所在部门做的事情,问我感不感兴趣,我也提问了一些问题,聊得比较投机

  4. 手上的offer

HR面

问了一些基本信息,手上offer情况,对薪资的要求。

贝贝网

一面

  1. 自我介绍

  2. 三级缓存怎么做的;内存缓存的大小怎么定的;

  3. 实习为什么选择**公司;实习项目是怎么做的

  4. 阿里中间件比赛是怎样的

  5. 问问题

一面比较轻松,二面比较深,毕竟技术合伙人面试的,感觉不太好

二面

  1. 自我介绍

  2. 用了哪些开源库;对Android哪些热点技术研究了;热修复的原理是什么,看过源码吗

  3. 模块化了解吗?如果自己实现怎么实现

  4. 图片三级缓存怎么做的;如何避免OOM;

  5. 有没有对性能优化进行过研究;overdraw如何解决

HR面

  1. 家在哪里;对贝贝的了解;手上的offer;七天出消息

  2. 兴趣爱好

面试题,网上一大把又多又杂。根本不能很好的做一个系统查漏补缺。就算刷完也面上就忘记了。我不知道大家是不是这样的,我经历过所以我明白这些痛苦,一到面试忘光。所有我和朋友在这几年里整理了一份2246页PDF的Android高级架构师面试题合集。现在在这里分享出来,希望对之后大家之后秋招有帮助!

点击领取【Android高级架构师秋招大厂高频面试题目合集】

结尾

最后的几句话吧

我的秋招结束了,这就是我的总结和感慨。

PS:一定要觉得自己的努力是有价值的

PPS:觉得要放弃的时候想想自己原来的努力

PPPS:努力不一定成功,不努力注定失败

PPPPS:不是幸运不光顾你,而是他买了更好的东西在前面那个路口等你

PPPPPS:要看别人现在有多荣耀,你现在羡慕是没有看到过别人荣耀下的努力

最后一句,这是我对自己一直的暗示(虽然有点不好听,但是是我的真实感觉):不要觉得自己多厉害,你在一些人眼里就是垃圾;不要觉得自己多垃圾,你在一些人眼里就是成功的。

End (人生没有完结)

上一篇 下一篇

猜你喜欢

热点阅读