★看完 Teambition 的宣传片,
我便下定决心成为其中一员
8月11日,我在拉勾上看了 Teambition 的宣传片,被他们的团队协作产品吸引了。
于是抱着试试的心态投了简历。收到面试邀请的电话后,我又慌又紧张。
那时距离协商的电话面试时间还有两天半,我立马请教了好友,他认为我简历中罗列的技能太多,会被问死。
我又去网上询问已经工作的同行大佬,了解面试情况。因为大家都不是面试官,收到的就只有鼓励。
我心里很慌的,但是没办法,硬着头皮去复习知识点是唯一成功的可能。于是开始了疯狂的复习计划。周末两天都是早上5点半起来开始把技能点一个个过滤,每复习完一个,就记录一下。
一次模拟面试点醒了我
复习时在简书上看到 Even 老师的模拟面试不错,就去报了名。
45分钟的模拟面试里, 老师从自我介绍、专业技能和专业知识三方面对我进行提问。说实话,我犯了两个错误,自我介绍时连说话都打结;已经忘了简历项目中互联网创新大赛的具体情况。其实就是没有做好面试准备。
当时给我提了六点建议:
-
自我介绍控制在2分钟以内,而且要将你要传达给面试官的信息全部包含。注意展现语言组织能力以及表达能力。
-
如果有团队项目,描述清楚你在团队担任什么角色?做的是什么?有什么收获?遇到的困难是什么以及如何解决这些困难?在面试之前需要详细地整理项目参与的细节,因为这将会是一个很重要的环节。面试官看重的是你的团队协作能力以及解决问题能力,当然也包括自学能力。
-
针对个人项目,你一定要对项目的细节足够清晰,包括项目使用的框架,涉及到的知识点,你收获了什么?遇到的困难是什么?把解决问题的能力展现出来。
-
面前准备要思考公司为什么招我?我身上有什么亮点值得公司去培养?
-
对简历中的专业技能要很熟练,做到马上问你都能立马回答出来,而且思路要清晰。
-
做到这些,那就开始一遍一遍的复习基础知识吧,面试 Android 主要是 Android 基础,java 少量涉及,如果面试官觉得你能力可以,会在最后问到算法题和数据结构。
一小时的电面拿到了offer
8 月 14 日 14:00,在焦急的等待中,我迎来了 Teambition 的面试电话,没有任何的前奏,也没有做自我介绍,直截了当地就进入了专业技能的面试环节。
1.项目经历中提到的全国互联网创新大赛,比赛内容是什么,担任什么职位,涉及到哪些技术,和团队成员如何分配任务?
答:当时比赛项目是软硬件模块结合,单片机模块有蓝牙和 WiFi 通信,温湿度传感器,空气质量检测和人体检测等。
我是队长,收到比赛通知就联系小伙伴,根据他们的特长分配任务。懂硬件的队员分析单片机指令的收发,另外一个伙伴研究模块的文档,我负责客户端代码的编写。比赛要现场2小时内完成4道题目,其实在我现在看来难度不大,但那时我和队员花了足足三个月时间去研究。刚学习的时候什么都不懂,我们团队三人开始研究比赛规则,思考如何快速掌握技能。
(比赛是考核参赛人员的基础知识是否扎实,对模块代码是否熟悉,能够在变动的题目中迅速反应过来并实现功能。在和面试官的交流中,我把这些方面都强调了一遍,他也大致了解了项目是如何进行的,我们如何分配以及如何解决问题。)
2.在学习直播项目时,项目要实现什么功能?做项目有什么收获?遇到什么困难以及如何解决?
答:**直播是一个项目教程,仿映客直播 APP ,我负责将教程内容输出成博客。简历中有项目文章的 Github 地址和博客地址。为了这个项目,看了很多腾讯云文档,学会封装很多库,用到了 MVP 框架和网络请求框架。
(中间还细问了对 MVP 架构的理解, MVP 三层如何工作,和 MVC 有什么区别,最后是 Rxjava 的操作符,线程切换、用途以及与 OKhttp 的区别。)
接下来是提问 android 的基础知识:
- View 的绘制包含哪些阶段? MeasureSpec 的三个模式是什么?
- 对触摸事件的认识,事件冲突的理解,父控件拦截到事件之后,子控件还会有机会有消费触摸事件吗?滑动冲突的原因?
- Android 异步任务有哪些方式?Handler 的工作原理?在子线程中是否可以创建 Handler ?
- 解释Android 中的四大启动模式以及 SingleTask 和 SingleTop 的区别,如何指定 Activity 在某一个任务栈中?
- Android 进程中的通信方式?
- java 的集合框架? ArrayList 和 LinkedList 的区别?
- HashSet 的内部存储? set 的存储方式?
- 如何解决多线程访问共享对象问题?多线程实现同步的方式?
- synchronized 如何使用,修饰哪些东西?修饰方法和修饰类的区别?
- 设计模式的了解?
- java 中的引用方式以及弱引用和软引用的区别?软引用和弱引用使用场景?
- 是否使用过 SQL ?
- Http 协议的理解?网络请求有哪几种方式?
- Json 解析?
- Git 版本控制?
- 开发 Android 使用的什么开发工具?对 Gradle 的了解?
紧接着了解个人想法:
- 举例子谈团队合作?
- 对技术方面有什么期待或者偏向于哪方面?
- 如何了解到 Teambition ?为什么要投递Teambition?
- 什么时候到岗?什么时候能去实习?是否了解单元测试?
**面试官的评价:**在实习生中技术还算可以,沟通方面也ok 。
整个面试从开始到发 Offer,只用了4小时左右,我惊叹于 Teambition 的执行效率,真的是很幸运。
过后我把面试的录音回放了一次并总结了一些经验:
- 和面试官沟通要放轻松,有自信。
这方面说易做难,所以要准备得足够充分。简历上所有知识点要复习三遍以上,不熟悉的更要当重点去学。java 基础,android 基础,算法,数据结构都要看。电话面试,算法和数据结构涉及较少,当场面试一定会问到。自我介绍、项目经验等方面都要事先组织好语言,做到对答如流。
- 面试官会根据简历内容提问,但是面试中涉及的全是基础知识。
因而只要是简历上写的专业技能,必须会,不是很熟悉的不要写上去,这样是打自己脸。比如,简历上有博客地址,那么博客中的知识点必问,面试官会根据你的熟悉程度,判断你的知识点掌握程度。还有简历中提到的项目,它的开发流程,用到的知识点和框架,学到了什么,如何解决问题,这些都要回答详细。
- 面试官只要肯试探就知道我们的程度,所以不要不懂装懂,存侥幸心理。
遇到不会的问题,不要慌张。有两种回答方式,一是坦诚说不会,二是换个思路,比如要答对 Gradle 的认识,不懂专业术语就举平时用到的例子。
我的良师益友
还在上初中的我,跟着爸妈出去做生意,尝到了他们工作的不易,想要靠自己的努力走出小地方,有能力让父母过上轻松的日子。后来独自到重庆求学。
四年大学,一晃如烟。
两年前,认识了一个搞 Android 开发的大四男生。和他相处久了,我谈到自己从来不看书,他便给我列举了看书的很多好处。听从他的意见后,我从大三下学期开始培养看博客学习和看书的好习惯。
就在那时候迷上了张哥的 Android技术分享公号。不管多忙,他的每篇推文必看。自己的见识和知识面也拓展了很多,对未来的定位越来越清晰,有了勇气与信心去上海这个竞争压力大的城市闯荡。
也是大三这一年,我在学习的时候认识了吴老师。当时,一直听说 android 行情不好。和我同届的他能拿到面试邀请,给了我很多信心。这让我更加努力地学习Android,上课时间看Android开发艺术探索,下课有空看直播项目,定期推送博客,历时一学期,推送博客四十篇。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
tVI-1712554690211)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
- 面试官只要肯试探就知道我们的程度,所以不要不懂装懂,存侥幸心理。
- 面试官会根据简历内容提问,但是面试中涉及的全是基础知识。
- 和面试官沟通要放轻松,有自信。
还没有评论,来说两句吧...