Android:技术在线面试还是屡次撞板,过来人告诉你不及时“复盘”面十挂十
Posted Android-until
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:技术在线面试还是屡次撞板,过来人告诉你不及时“复盘”面十挂十相关的知识,希望对你有一定的参考价值。
android程序员面试大厂屡次失败该怎么办?
最近,收到一些程序员的留言:求职屡次失败,总是撞板。
要么就是面试官觉得不合适;要么是自己觉得薪资等达不到预期而拒绝offer等情况.....
到底是为什么?有些程序员明明有技术有能力,但偏偏在面试求职的临门一脚不能射门成功呢?
今天,小编就跟大家好好聊一聊:为什么你面试程序员开发岗位总是失败?到底是哪些地方做得不够呢?(不想看文,只想学习,直接拉到文末获取精选面试题)
简历包装要到位
务必尽可能的,在简历上将自己包装得足够专业!
在互联网红利逐渐衰退的环境下,简历是第一敲门砖!在简历上将自己包装成真正职场人应该有的样子,不要把一眼看上去就显得稚气的词语和内容放在简历里。
挖掘你此前所有做过的事,都可以进行包装,哪怕是做过发传单兼职,你都可以包装成进行过多大规模的市场地面推广。
谨记!简历是第一敲门砖!
专业技能要足够
专业性就是你能为企业创造的价值。说得直白一些,企业招你进来就是让你干活产生价值的,如果 HR 看不到你的专业性,性价比也就无从谈起,稳定性跟价值观自然就是无稽之谈。
作为程序员,无论你是从事开发岗位、前端岗位亦或是测试岗位,技能的专业度要修炼到家!
相关项目经验要流畅表达
首先你要明白,HR面试,就是一个验货的过程。说白了,就是想看看你真人具备的能力是不是和简历上写得一样。
你要做的,就是保证货真价实。因此,简历的回顾就显得十分重要。
尤其是项目经历那一块,要确保面试的时候能流畅的表达出细节,如果你说起来支支吾吾,HR会质疑你简历的真实性,直接影响到你面试的结果。
这里建议用star法则来进行描述。其实就是把你的项目经历,用讲故事的方式讲给面试官听。
叙述模式:接到什么任务+如何完成任务+完成的结果。如何同时,别忘了多用数据,能让你的回答更有说服力。
谈薪资要清晰自身的性价比
从企业的角度出发,性价比=(专业性/薪酬)*发展潜力。
那么,如果在求职过程中,多个人面试同一岗位。那么,对于企业来说:面对专业性跟潜力差不多的两个人,谁的薪酬低,谁的性价比就相对较高。当企业锁定了几个专业性达标的人选后,一定会选择性比高的人入职。
我们在找工作时肯定要谈薪资,这本来无可非议。但如果是在不合适的时机、用不合适的方法来问薪资,就很容易给HR留下不好的印象。
什么时候适合谈薪资,最好是一切都聊得差不多的时候,水到渠成再开始谈薪资。
当然呢,一两次的面试失败并不算是什么!
失败了,不是因为你不厉害,也可能就是因为你不合适这家公司,或者是你没有准确将你自己表达给面试官知道。
所以,心态一定要调整好,不要崩!
面试官要找的不是技术明星,而是实实在在具备了合适的技术技能、软技能、端正的态度以及能为企业获取利益、全面的专业人才。
面试后一定要复盘
过了年,传统的招聘旺季,最近和朋友交流,发现了一种现象。很多工作多年的一线工程师,职级也不低,工作能力也够强,然而在面试中却总是能被各种“奇怪”的问题问倒。挫折的次数多了,有些朋友甚至都开始自我怀疑,怀疑自己到底是不是“水货”?
对这种情况,我和朋友有过几次讨论,最后的结论是:不是我们的能力不行,而是准备的不充分。
本质上,任何一个软件工程师,在一段时间内,都只能是某种“类型”选手,只“手热”某一方面的知识。因此,贸然去应聘,被面试官问倒,也就没什么奇怪的。
而要解决这个问题,只有一个办法:不打无准备之战。
就像学生时代的期末考试一样,要进行考前复习。而要进行考前复习,就得有复习资料。对一个一线软件工程师来说,常见的复习资料有几种:源码、书籍、学习笔记。
关于如何准备、如何面试,我们谈得很多。但在面试后应当做些什么,反而被大家所忽略。小编认为,任何一次面试机会其实都与前期的准备密切相关的,而每次面试结束后的总结又为下一次的面试成功“添砖加瓦”。很多求职者得不到心仪的机会,问题可能不出在面试环节,而是面试前后所做的工作还不到位。
面试后的总结与面试前的准备同等重要。在此,我特别提醒广大求职者,每次面试后都要及时总结、及时“复盘”,否则,这次面试犯过的错,下次面试可能还会犯,多次面试就只是同样表现的来回重复,这样肯定不利于拿offer。
可是,在大多数情况下,只要面试一结束,很多求职者就开始松懈了,认为任务完成了,之后只要等消息就行了。
其实,不管是什么岗位的面试,所遇到的问题纵使千奇百怪,也一定会有相通之处。求职者不妨将每次面试当成一次经验的积累,在面试后对自己的表现进行全面复盘,对自己的表现做出客观评价,哪些方面做得好,哪些方面没有做好,从中总结经验,吸取教训,获得长进,才能帮助自己在未来的面谈中获得成功。
为什么要学习复盘方法论?
没有复盘方法论的领导简直就是公司的灾难!
- 不重视复盘可能导致只分析了表因而没挖掘根因,下次爆发出更严重的问题。
- 不重视复盘会导致员工觉得出现问题也没关系,降低对自身的要求。
- 没有定责标准会陷入无限的来回扯皮中,难以确定主要责任和次要责任,不能形成统一意见。
有方法论的可以员工在复盘的过程中占据主动,展示自己的能力,防止别人甩锅给你
- 很多人都非常讨厌扯皮,但是越怕麻烦麻烦就越缠着你!
- 因为定责影响绩效,而且又有很多可以扯皮的地方,所以定责不亚于一场宫斗戏!。掌握主动可以给大家先入为主的印象和暗示,进攻永远是最好的防守。
- 提前复盘主动思考问题,就可以提前准备补救的方案、他人的质疑,避免手忙脚乱的说错话。
一些大厂讲究主人翁意识、阿里讲究要性、拼多多讲究本分
- 一言以蔽之,我们要有主观能动性。
- 主观能动性并不是资本家剥削压榨我们剩余价值的毒苹果,在工作中时刻保持主观能动性可以提高你的执行力、沟通能力、影响力、思考问题、解决问题的能力。而且义务和权利是互相的,你在主动承担无人认领义务的时候,也悄悄的拥有了该业务的话语权,积少成多,你的话语权就会越来越大。韩信点兵多多益善,强者是不怕撑死的。
知耻而后勇、失败是成功之母
- 承认失败是一件很没有面子的事情,但是只有正视错误才能分析出根本原因并改正,促进自己的成长。
- 强者更在意自身的成长,只要有了实力面子迟早能挣回来。
一些感受:
- 每一个线上错误的代价都是及其昂贵的,规范开发流程和做好问题复盘同样重要。
- 只会低头写业务代码而拒绝思考的人是没有前途的。
- 我们可以通过问题复盘学习到团队大佬分析、定位、处理、改进问题的思路和方法论,不是天天都有大佬现场教学的机会的,要珍惜。
Android程序员面试后该怎么复盘?
每次面试后我都会做一次复盘,把面试官问的问题记录下来,把我自己回答的好的地方和有待改进的地方记录下来。
通过这些记录,可以得到以下几点收获:
1、面试常见的问题。多次记录之后你会有一个通用的面试题库,其中很多问题是可以提前做准备,但并不是要大家背下来,而是大家提前想清楚,要比临时去想回答的更全面,你也会更有掌控感。比如看新机会的原因、职业规划、看新工作考虑哪些因素等。
2、面试官对该岗位的期待。我们在招聘启示里看到的要求只是这个岗位通用的一些要求,这个公司对这个岗位会有更具体更个性化的要求。这些内容就需要我们通过与面试官的沟通中挖掘。咱们不能把是否通过面试放在一个黑箱里,最后无论是否通过都不知道面试官评判的标准是什么。复盘中我们要通过面试官的问题看出他的侧重点,来判断我们的竞争力和有待提高的是什么。同时,我们也能获得用户思维,知道我们如何展示用户需要的那些能力和经验。
3、自己在面试中存在的问题。就像是一个错题本一样,记下来是为了不再犯同样的错误。比如某个专业问题回答的不好,比如某个项目介绍的不清楚,如果在让你回答这些问题你会怎么说。或者口语表达的问题,或者像我一样有一些口头禅。这些都是我们可以在之后面试中进行调整和改进的。
有些小伙伴面试很多次,仍然找不到心仪的工作,就可以试试面试复盘的方法,把面试当做一个项目去调整和改进。
这里分享一下我之前面试腾讯后的复盘记录:
腾讯面试中的重点及经常问到技术点:
数据结构算法,调优,View,SDK,动画音视频等以及你使用过的框架且第一轮的基础很重要,通过后录取可能性就相对高了!
面试题如下:(答案太长不方便展开,仅仅展示部分)
- Activity的生命周期
- Activity A点击跳转到Activity B后经历的生命周期是如何的?(主要就是A的onStop在哪儿运行)
- BroadcastReceiver的注册方式
- Handler工作原理(包括子线程Looper、主线程Looper不需要声明),最好看看源码
- 耗时操作为啥不能放在主线程?
- UI操作在什么线程?为什么?
- 自定义VIew的属性获取问题(TypeArray)
- 自定义View的过程
- Java多线程多进程方面的知识,sychronize静态方法和类方法的区别(多线程这一块我就直接过了,直接说不太会所以没有细问)
- 集合用过哪些?线程安全的有哪几个
- 两个业务场景考察,都是即时聊天有关的场景,第一个是聊天框中当前发送消息与向服务器请求获取的历史消息列的冲突问题,你发送消息的时候你的消息还没有到服务器而此时你向服务器请求获取历史消息,你的历史消息显示问题(面试官提示我说消息都有自己的id)。第二个是从服务器传来成千上万组数据,怎么接收?(分批次,如何分批次?我是说通过广播机制,有序传播,低于一定容量就截断广播,超出则继续广播。)
- 算法题比较简单,就是一串字母判断是否为合法字符串,规则有三:
(1)字母可以全部是大写
(2)字母可以全部是小写
(3)可以首字母是大写,其余字母全小写
除此之外全不合法,返回值为布尔型,合法返回True,不合法返回False,要求常数级别空间复杂度 - 如何优化自定义View
- 低版本SDK如何实现高版本api?
- TCP/UDP的区别以及各自应用场景
- TCP建立连接三次握手,断开连接四次挥手的详尽过程
- Java基础知识,接口与抽象类区别,其内部方法和变量是有什么限制?
- == 、hashcode、equals的区别,Integer(Object)的比较和int的比较区别
- Java多线程方式
- 多线程的几种状态
- Thread.start()以后线程处于什么状态
- 集合用过哪些?
- LinkedList和ArrayList有了解过么?
- HashMap的容量是固定值么?达到什么样程度后进行扩容?
- HashMap的put和get是如何实现的?
- 算法题是给定一个数组,数组内每三数之和唯一,求三数之和最接近target的三个数。
- 然后根据自我介绍的项目进行少许提问,根据项目中知识会问一些问题
- TCP、UDP区别和应用场景
- 四大组件说一下你的认知,会根据你的一些认知与使用情况进行提问
- Activity的四种启动方式
- AIDL 你说一说你的使用和了解程度
- 你说到其中的单例模式,写一下看看
- fragment用过吗,他和Activity什么时候使用哪个?Fragment生命周期
- 计算机原理内容,进程与线程的区别
- 进程间的通信方式
- JVM知识,GC(这一块基本没看过,所以他就没问了)
- 算法题是给出两个字符串,找出两字符串的最长公共子字符串,不要长度,要给出字符串。
面试经验总结
1.一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你 的简历来问的;
2.能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试 之前好好回顾一下自己所做的项目;
3.和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是 如何使用的;
4.建议提前了解一下自己想要面试的公司的价值观,判断一下自己究竟是否适合这个公司。
5.另外,我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
总结
开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去拧螺丝,但你要进去得先学会面试的时候造飞机不是么?
面对浩瀚的题海又该从哪里刷起?如何刷题才能不浪费时间?
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典!
- Android学习路线图
首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!
- 模块化学习资源
接下来是每个模块我整理出来的文档学习资料,帮助大家更细致化的学习。
《Android汇总复习资料—Java》
《Android汇总复习资料—Android》
《Android汇总复习资料—Android扩展》
《Android汇总复习资料—Kotlin》
《Android汇总复习资料—Flutter》
《Android汇总复习资料—算法》
除了上面的学习路线,还可以额外的配合以下方式学习,效果翻倍~
①看视频进行系统学习
前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频,有需要的我也可以分享给你。
②读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
③面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
④2020大厂面试高频知识点
- 图片
- 网络和安全机制
- 数据库
- 插件化、模块化、组件化、热修复、增量更新、Gradle
- 架构设计和设计模式
- 性能优化
- Android Framework
- Android优秀三方库源码
以上这些内容均免费分享给大家,需要完整版的朋友,点这里可以看到全部内容。或者点击 【这里】 查看获取方式。
以上是关于Android:技术在线面试还是屡次撞板,过来人告诉你不及时“复盘”面十挂十的主要内容,如果未能解决你的问题,请参考以下文章
程序员面试屡次遭拒,网友:38岁了心里没点逼数吗?子弹短信被曝严重安全漏洞;JDK 12公布首个JEP
测试面试真题 | 从屡次碰壁到成长蜕变,半年拿下某大厂 60W 年薪测试开发 Offer!