共计 5331 个字符,预计需要花费 14 分钟才能阅读完成。
前言
对于裸辞
有句话说得好:“裸辞穷半年”。
如果你没有找好下家,不到万不得已,千万不要裸辞,这是我给你的良心倡议。咱们先来剖析一下起因。
假如你刚毕业一两年,如果裸辞,你可能面临的问题有:
- 支付宝里的贷款并不多,工作还没找好,说不定就曾经把钱花完了,下个月的房租可能没有着落。
- 如果你是独身,那就是孤军奋战。就算自制力再强,在家待久了,很容易变得颓丧和腐化,进而奋发图强。你甚至会感觉,里面的世界与你无关,进而有逃离北上广深的激动。
- 如果你有对象,因为你没有支出,你会很容易被对象厌弃。可能她一开始会反对你的现实。但长此以往,两人之间肯定会产生很多问题和矛盾,这是肯定的。
假如你曾经有了家室,裸辞的压力应该更大吧,过来人能够谈谈感触。
当然,以上所形容的情景,是在默认你具备极强的自制力的前提下。很多人在毕业之后会变得很懒惰,如果你没有自制力,就更加免谈了。
既然如此,我为什么要裸辞呢?
我是在往年 5 月底,没有找好下家的状况下跟领导提了到职,过后裸辞的想法比拟童稚:
1、感觉本人在 4 - 5 月份曾经筹备了一些,也面试了几家公司,有了肯定的面试教训,尽管当初没找到,在不久的未来必定能找到的。
2、提到职,到交接工作这段时间大略有一个月,能够利用这段时间再找找;
3、就算一时找不到,手里还有些积蓄,也不至于断了口粮。
当初想想,这些看似很有说服力的想法,都存在了很大的危险
危险与进路
如果你的工作是上面这些情景:
- 在一家公司工作,看不到将来的前景,但目前的工作还根本能胜任
- 工资不高,但也能维持着过日子,只是没有贷款
- 待了两年,工资只涨了一千多。这种涨幅并不高,只是和通货膨胀、物价上涨保持平衡而已。
这个时候,你是时候要思考跳槽了。当然,跳槽兴许还有其余的起因,但单从集体的薪水和前景来看,以上这些,就未然能够成为跳槽的理由了。
还有一种人的抉择是:“就算我当初的工作不够现实,但也不算太差,我能够持续待着,我能够不做抉择。”是的,你当然能够让所有保持原状。然而,你就不要一边指望着发家致富、财务自在,一边还待在原地不动。
做任何决定都是有危险的,然而没有危险哪来的回报。
说到这里,我给出的倡议是:如果始终躲在 舒服区 ,最终肯定会进入 恐慌区。
说说头条面试
为了这天,我特意理了个利落的发型,胡子刮得一尘不染。穿上新买的鞋子,连袜子都是簇新的,准时准点呈现在电脑屏幕前,筹备开始视频面试。
这不是我第一次面试,但我却比第一次还要缓和。
首先是自我介绍,公司职能,我的项目简介。(小作坊走进去的小猿,我的项目教训并不出彩,没有高并发,没有分布式,前端后盾服务器和数据库部署在同一台机器上。为了不显的太 low 又伪装不经意提了提本人在 GitHub 上有本人的开源框架,然而他并不 care)
我的花色耍完了,就到了他肆意挥动小皮鞭的环节
面试官:我看你我的项目上都是偏独立开发,或者你一个人在我的项目中承当了很大的比重。那你能不能说说你们的我的项目在部署的时候用的是怎么的架构?
我答复:次要就是 Django 部署那一套,nginx+uwsgi+Django+mysql。
面试官:那你具体说一下 nginx 在部署的时候有哪些必要的配置?
我答复:这个我在 nginx 里配置了端口的转发,对外监听 80 或 443,而后转发到外部 uwsgi 的端口,由 uwsgi 来解决业务申请,部署 Django 我的项目。
(显然我对 nginx 的认知仅仅局限在配置个端口反向代理,偷换概念希图蒙混过关。)
面试官:不是,我的意思是 nginx 当中不是有很多参数配置嘛,你在我的项目部署的时候那些参数是必要的配置,有哪些能够调优
(对方识破了我的小手腕,并不给我蒙混过关的机会,无奈我只得抬头认怂,示意并没有用过其余配置,出师未捷就挨了当头一棒。)
面试官:那你再说说 uwsgi 它的工作原理吧,它的底层是怎么工作的。”
我答复:因为缓和的缘故,本来不会的常识,一下子变得还是不会,囫囵吞枣地讲它代理一个服务端口,调配不同的线程解决客户端浏览器的申请。
面试官:那他的底层是怎么实现的?
我答复:看来我如果还没求饶,他就不打算放过我。……(这里省略一些不分明、不晓得、遗记了之类的词藻,保留一丝尊严。)
接下来是对于 redis 哲学三连“是什么?为什么?怎么用?”我把肚子里仅有的对于 Redis 的一滴墨水挤成了三滴,依然没有给出他想要的。持续诘问 Redis 的数据存储形式,操作方法,读写操作在底层都是如何实现。
啊~,好深。除了抬头冤屈说不会,心田的我曾经意识到了问题的严重性,平时面试你只有一喊不行,对方就会体贴地换一个方向持续深刻,这次我都快被搞哭了,他竟然换了个姿态持续往深怼,这谁顶得住啊……
到了这一步我的心理防线根本发表告罄。往后又问了关系型数据库表的存储构造,我隐约记得是毕加索还是毕加树来着,完后又诘问到索引的实现原理,创立一个索引怎么它就能放慢查问效率。
其实面试官的套路大多如此,每个技术都尽可能的深刻,深到你不会为止,并不是非得要把你折磨的不能自理,而是为了考查你的技术水平到底如何。
下一个到了数据结构,面试官稳准狠一步到位点到了我的敏感地带:堆。什么是最小堆?什么是最大堆?在堆中怎么插入一个元素?
面试曾经继续了将近四十分钟,嘴开始打漂,情绪缓和思维也难以集中,答复中开始大量呈现我感觉、我猜、可能、应该是等高危词汇。
死亡轰炸还没有完结,接着是 MQ,我所应用的 MQ 的技术选型,为什么选它,我的项目中如何利用,最初无一例外,它底层是如何实现?怎么保障的稳固的消费者生产者队列?
最初以一道算法编程题完结,如何给一个双向链表排序?我失去管制的舌头自作主张地把话锋导向了疾速排序,那,你来写一个双向链表的疾速排序吧,这个视频页面上旁边有一个编辑器,语言你轻易,用 C ++ 或 Python 都能够,大略 10 分钟的工夫,能够吧。
工夫差不多了,我只能厚着脸皮被动抵赖本人写不进去。实际上,我哪怕正经用 c ++ 写一个数组的疾速排序也算话,然而过后的我满身只剩下疲乏,苦楚和羞辱。面试官终于放我走人,长达一个小时的激情视频聊天终于完结,关掉视频的一刹那,随着浑身一阵抽搐,整个人瘫软在椅子上。我是谁?我在哪儿?方才产生了什么?哦,方才产生了那种事件。
面试过程和提到的问题大抵如此,为了浏览体验有局部艺术润饰,然而内容全部都是实在的。
裸辞的这两个月
裸辞的这两个月,还有两个问题要面对:一方面是,越学越感觉工夫不够用,因为不会的货色切实是太多;另一方面是心理和经济上的压力。
5 月下旬,办理完到职手续之后,我把学习当成全职的工作。当初打算着辞职后就去找工作,然而经验头条的面试之后,不敢去找工作。于是,8 月初的时候,我又闭关学习了两个星期。直到 9 月中旬,我才开始找工作。
当初想想,其实永远都没有筹备好的时候。最好的方法是:尽早去加入面试,把每次面试碰到的问题都记录整顿下来,碰壁越多,提高越快。别的畛域我不分明,单看 Android 开发这个畛域,面试官提的问题,反复率十分十分高。
找工作的这一个月
海投的这个月,感叹颇多。说一下我的大抵经验,坐标深圳。
社招里,“没有教训”这几个字,就根本能够被大部分公司鄙视掉了,公司招没有教训的应届生就能够了。
9 月中旬,同时内推到 BAT。过了两个工作日,腾讯告诉我行将进入面试安顿阶段,后果到当初还没有音讯。或者这家企业在成为最受尊敬的公司之前,要先成为最让人惦记的公司。
内推到阿里和百度时,简历很快被刷,也是意料之中。
内推到 oppo,官网说三个工作日内给回复,后果等了一周也没音讯。让同学被动去问的时候,才晓得是简历没通过。
内推到微众银行,收到我简历的人应该是个 leader,他叫来一位 Android 工程师安顿我一面,面试官出了十道相干的题目,我可能只对了一半。leader 倒是对我没放弃,问了我一些根本状况,而后说:“下周我会给你安顿二面,你好好筹备。”后果等了十几天也没音讯,但我也不能惦记(两周之后,微众分割了我,但此时我曾经找到工作了)。
内推了这么多,都以失败告终,我决定在拉钩、boss 直聘、51job 上海投。海投了无数个,根本被回绝。
海投期间,我面了两家:安全银行和招商银行,然而没有通过。另外还有一家公司邀请我面试,等我到面试现场,要求先做逻辑推理题,我一看到题目,毫无犹豫地走人了。因为做这种题目几乎节约青春,我截取其中一道题,你们感受一下:
是的,在没有任何其余 offer 的状况下,我回绝了这家公司。这时候曾经 9 月底了。
与此同时,我尝试内推到了京东。只需一个下午的工夫,我就顺次经验了京东的技术口试和三轮面试(技术面、boss 面、hr 面)。三面时,hr 说会在下周一给我告诉。后果,下周一没等到 hr 的告诉,却又接到京东的一轮电话模式的技术面试。通过整整一周的苦苦期待,终于在三月底 收到了 JD 的正式 offer。
给大家的倡议:
- 1、找工作尽量走内推渠道,会是一种更好的抉择。最大的益处是,hr 能够把你的简历在人群中多看一眼。
- 2、技术口试和技术面试时,反复率十分高,所以每次面试之后,肯定要把问题记录和整顿下来,肯定。
整体来看,9 月份这一整个月,找工作的机会都是十分大的,大家不必放心。
面试总结
Android 学习路线图
首先,对于没有学习方向,常识不体系的人,我把我工作几年整顿的学习路线分享给大家,做一个借鉴作用,还不晓得怎么学习的人能够间接照着我这个学习路线一个个的去学习,常识不体系的人能够参考下我整顿路线的形式,总之心愿可能帮到你们!
除了下面的学习路线,吃透一下知识点,成果翻倍~
- Handler 相干常识,面试必问!
Handler Looper Message 关系是什么?
Messagequeue 的数据结构是什么?为什么要用这个数据结构?
如何在子线程中创立 Handler?
Handler post 办法原理?
- Activity 相干
启动模式以及应用场景? onNewIntent()和 onConfigurationChanged() onSaveInstanceState()和 onRestoreInstanceState() Activity 到底是如何启动的
- Fragment
Fragment 生命周期和 Activity 比照
Fragment 之间如何进行通信
Fragment 的 startActivityForResult
Fragment 重叠问题
- Service 相干
过程保活
Service 的运行线程
Service 启动形式以及如何进行
ServiceConnection 外面的回调办法运行在哪个线程?
- Android 布局优化之 ViewStub、include、merge
什么状况下应用 ViewStub、include、merge?
他们的原理是什么?
- BroadcastReceiver 相干
注册形式,优先级 播送类型,区别 播送的应用场景,原理
- AsyncTask 相干
- AsyncTask 是串行还是并行执行?AsyncTask 随着安卓版本的变迁
- Android 事件散发机制
onTouch 和 onTouchEvent 区别,调用程序 dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent 办法程序以及应用场景 滑动抵触,如何解决
- Android View 绘制流程
简述 View 绘制流程 onMeasure,onlayout,ondraw 办法中须要留神的点 如何进行自定义 View view 重绘机制
- Android Window、Activity、DecorView 以及 ViewRoot
Window、Activity、DecorView 以及 ViewRoot 之间的关系
- Android 的外围 Binder 多过程 AIDL
常见的 IPC 机制以及应用场景 为什么安卓要用 binder 进行跨过程传输 多过程带来的问题
Android 高级必备:AMS,WMS,PMS
AMS,WMS,PMS 创立过程
- Android ANR
为什么会产生 ANR?如何定位 ANR?如何防止 ANR?
- Android 内存相干
- 留神:内存透露和内存溢出是 2 个概念
什么状况下会内存透露?如何避免内存透露?
- Android 屏幕适配
屏幕适配相干名词解析 当初风行的屏幕适配形式
- Android 缓存机制
LruCache 应用极其原理
- Android 性能优化
如何进行 内存 cpu 耗电 的定位以及优化 性能优化常常应用的办法 如何防止 UI 卡顿
- Android MVC、MVP、MVVM
- Android Gradle 常识
- RxJava
- OKHTTP 和 Retrofit
- 最风行图片加载库:Glide
- Android 组件化与插件化(业务大了代码多了会用到)
为什么要用组件化?组件之间如何通信?组件之间如何跳转?
面试常问的点
除了下面整顿的安卓高级技术问题,还有一些面试官喜爱问的点,大家针对筹备答复:
- 你在我的项目中遇到最难得点是什么?如何解决的?
- 平时遇到问题了是如何解决的?比拟好的答复:官网文档肯定要看,通过源码解决问题,而后才是搜索引擎以及和共事探讨
- 你最近做的 APP 是如何架构的?为什么要这样架构?
- 平时怎么进行技术进阶,如何学习?
- 你感觉本人处于什么技术水平?
你的技术劣势是什么?
以上这些内容均收费分享给大家,须要完整版的敌人,点这里能够看到全部内容 。或者点击【 这里】查看获取形式。