社死天花板!连夜扛着火车逃离地球,本想试试大厂的面试,没想到直接逝世……
Posted Android开发骆驼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了社死天花板!连夜扛着火车逃离地球,本想试试大厂的面试,没想到直接逝世……相关的知识,希望对你有一定的参考价值。
前言
看标题可能比较容易让人误会我社死,其实这是一个朋友的朋友圈。
看热闹不嫌事大的我就和他聊了下,知道了事情的始末。
一、社死现场
我这位朋友是三年android开发经验,之前一直在瓜子二手车,现在想跳去大厂。
碰巧,前不久在Boss直聘看见字节在招Android开发工程师。
因为薪资实在是太诱人了,职位要求看起来也比较简单,就抱着试试的心态去面了,想着搏一搏,单车变摩托。结果……被面试官虐得死去活来,只觉得自己当初的脑子瓦特了。
二、面试经历
首先是惯例的自我介绍,为了能够让自己听起来比较牛掰,他就在个别地方稍微运用了一下夸张的修辞手法,把一个自己只是拧螺丝的项目说成是自己主导,本来想着,简历上写的项目不止这一个,还有其他大项目,这个应该不起眼,不会被问到,结果被自己坑惨了。
面试官: 可以详细说说你简历上的这个项目的架构吗?
应聘者: (完了,随便说说吧)……因为考虑到后期的体量,这个项目一开始就采用了组件化架构,我们先是这样……然后那样……。
面试官: 好,我看到了,我看这个项目有解 决一些高并发的问题,那么我们就先来讲一个普通的场景,因为你项目经验比较丰富,我就不单问技术情况了,就说说场景是如何发生和去解决的。如果有一个普通场景,就是1000个用户下单一批商品,这个商品是多个,不是活动,但是库存只有100,这个情况。
应聘者: 这个情况的话就可以使用传统的队列去解决(然后我就一直在说队列)
面试官: 能介绍下服务与服务之间相互调用的时候,如果调用超时了是怎么处理的?
应聘者: 超时啊,(我不知道啊)那应该是报错吧
面试官: 确定是报错吗?没有重试机制吗?重试机制是怎样的?
应聘者: (完了这个模块不是我负责的)……这个项目有些久远,这个功能的实现我忘记了
接着,面试官又问了一些项目的其他点,但是听了他的回答,面试官似乎并不满意。于是他真的就想当场去世。。。
后面又开始挖底层,问了很多原理的问题,面试题大致如下:
1、Android的四大组件?什么是content provider。
2、https 和 http的区别?对称加密与非对称加密的区别?
3、JNI的调用过程?Android JNI包加载的代码?
4、不通过AS,由源码打包成APK的流程是否有了解。
5、包访问权限——可以包内访问,不能包外访问,应该如何设置?
6、有没有使用过Fragment?
7、Android 的 Activity的启动方式?生命周期?
8、点击多个重叠View的事件分发机制?
9、Bitmap的可能问题?用过Bitmap哪些函数?(OutOfMemoryError)
10、了解过哪些图像压缩算法?
11、wbmp图像格式有没有了解过?
12、排序算法……(挂)
虽然题目很简单,但是因为他准备不充分,还是有不少没讲清楚。加上前面问到了那个自己不熟的项目,心态受影响,整个面试过程可以说是一塌糊涂,显得他很呆,尬的他恨不能直接在地板下抠出三室一厅。
最后面试官就问了一些他目前主要负责的项目,项目大概的规模,他自己在项目当中遇到的比较棘手的问题,你们是如何去解决的。了解了一些发展,为什么从上家公司离职这些问题。
最后的最后就是一句话:回家等通知,薪资都没有谈。
三、面试总结
准备不足,这位朋友太惨了,怒其不争,哀其不幸。
下面进行一波总结,希望对大家接下来的面试有所帮助。
(一)想冲击大厂的同学一定要记得好好准备一下算法,这块只能靠自己
推荐大家去看这个:《最短时间搞定算法:字节跳动Android岗算法题考前突击宝典》
对于贪心算法,可能会重点考察以下题目:
- 通配符求值
- 跳跃游戏
- 跳跃游戏II
- 分发糖果
- 判断子序列
- 移掉K位数字
- 分割数组为连续子序列
对于DFS (深度优先搜索遍历) ,可能会重点考察以下题目:
- 重建二叉树
- 岛屿数量
- 二叉树的最大深度
- 平衡二叉树
- 二叉树根节点到叶子节点和为指定值的路径
- 判断-棵二叉树是否为搜索二-叉树和完全_二叉树
- 二叉树根节点到叶子节点的所有路径和
- 判断二叉树是否对称
- ……(内容比较多,重点都整理在后文的
《算法刷题宝典》
中了)
比如对于链表,可能会重点考察以下题目:
- 反转链表
- 链表中环的入口节点
- 判断链表中是否有环
- 链表中倒数第k个结点
- 链表中的节点每k个- -组翻转
- 合并有序链表
- 删除链表的倒数第n个节点
- ……(后续整理在
《算法刷题宝典》
中了)
对于数组,可能会重点考察以下题目:
- 螺旋矩阵
- 重建二叉树
- 数组中出现次数超过一半的数字
- 矩阵的最小路径和
- 缺失数字
- 顺时针旋转矩阵
- 加起来和为目标值的组合
- 集合的所有子集
- 数组中的逆序对
- 旋转数组
- 矩阵查找
- ……(全收录)
对于字符串,可能会重点考察以下题目:
- 最长无重复子串.
- 括号序列
- 最长回文子串
- 大数加法
- 反转字符串
- 最小编辑代价
- 将字符串转化为整数
- 验证IP地址
- 最长公共前缀
- 字符串变形
- 通配符匹配
- kmp算法
- 数字字符串转化成IP地址
- 大数乘法
- 第一个只出现一次的字符
对于动态规划,可能会重点考察以下题目:
……
(后面看内容好像还挺多,专门整理成了一份PDF,大家感兴趣的可以扫码免费获取)
《算法刷题宝典》
有需要的朋友可以直接扫【
下方的二维码
】找我免费获取全套资料
。
↓↓↓↓↓
(二)大厂都喜欢问原理,而不是问你会不会。
建议看课程后多看源码,常用开源框架源码、Handler、Binder源码、性能优化、事件分发机制……
常问的技术点大概有:
- Handler相关知识
- Activity相关
- Fragment
- Service 相关
- Android布局优化之ViewStub、 include. merge
- BroadcastReceiver 相关
- AsyncTask相关
- Android 事件分发机制
- Android View绘制流程
- Android Window. Activity. DecorView以及View
Root - Android的核心Binder多进程AIDL
- Android高级必备: AMS,WMS,PMS
- Android ANR
- Android 内存相关
- Android 屏荨适配
- Android 缓存机制
- Android性能优化
- Android MVC、MVP、 MVVM
- Android Gradle 知识
- RxJava
- OKHTTP和Retrofit
- 最流行图片加载库: Glide
- Android组件化与插件化
(一)Handler 相关知识
1、Handler Looper Message 关系是什么?
2、Messagequeue 的数据结构是什么?为什么要用这个数据结构?
3、如何在子线程中创建 Handler?
4、Handler post 方法原理?
5、Android 消息机制的原理及源码解析
6、Handler 源码解析
7、Android Handler 消息机制
……
(二)Activity 相关
1、启动模式以及使用场景?
2、onNewIntent()和onConfigurationChanged()
3、onSaveInstanceState()和onRestoreInstanceState()
4、Activity 到底是如何启动的
……
(三)Fragment
1、Fragment 生命周期和 Activity 对比
2、Fragment 之间如何进行通信
3、Fragment的startActivityForResult
4、Fragment重叠问题
5、Android Fragment完全解析,关于碎片你所需知道的一切
6、Fragment 重叠, 如何通信
……
(四)Service 相关
1、进程保活
2、Service的运行线程(生命周期方法全部在主线程)
3、Service启动方式以及如何停止
4、ServiceConnection里面的回调方法运行在哪个线程?
5、startService 和 bingService 区别
……
(五)……
内容比较多,一篇文难以概全,后面的内容都以PDF的形式整理成文档了,有需要的朋友可以直接扫【
下方的二维码
】找我免费获取全套资料
。
↓↓↓↓↓
(三)新技术要稍微系统的了解一下
flutter 很重要,NDK也是大厂面试的加分项!!!!! 最好是有上线项目。
平时多看一下大佬写的技术博客,提高自己的面试表达能力,运气好的话,你面试甚至会遇到大佬的博客原题,直接背博客内容就行。
(其实这些点我当初有跟他们强调过,还分享过一些学习方法和配套的资料,早知如此,何必当初)
flutter现在有大厂在使用,很多业务都已经比较成熟了,这基本成了我们搞移动开发的一个必备技能,还需要掌握的有一定深度,值得我们好好学习的一个技术方向。另外NDK音视频方向的市场需求也很大,大家可以好好准备一下。
为了帮助还没有上手flutter和NDK的朋友,今天在这里做一下指路和分享。
一样的,扫描上文中的二维码,
备注想想要的资料
,直接找我获取。
(四)准备面试时需要注意的其他点
面试这件事,功夫在平时,临场时最重要的是心态。下面给大家几点实用性建议。
-
充分准备
上文这老哥就是准备不足,我们要珍惜每次的面试机会,做好充分的准备。刷题什么的不要懈怠。上面的资料多看几遍,力扣的题目最好都刷一下。(尤其是算法题,千万不要偷懒,算法是决定工资水平的一个分水岭,想拿高薪的千万不能放弃算法题)。 -
不抛弃 不放弃
失败是成功之母。要有失败的心理准备,不要因为一次的不顺利就灰心。简历会被放回到人才库,其他部门仍可以让你去继续面试,不过是从头再面(就当做积累经验吧)。 -
猥琐发育,别浪
在准备跳槽的朋友尤其要注意,很多时候,你觉得你很有价值,其实那只是一个幻觉,其实是平台的价值。离开了平台,你什么也不是(并不是贬低和打击你的信心,只是希望你不要盲目自信)。希望大家能有谦虚学习的态度,猥琐发育,别浪。
总结
长风破浪会有时,直挂云帆济沧海!
眼下又是一年秋招火热进行,开发岗需求多,薪资可观,前景也好,竞争也越来越激烈。希望文中的资料对大家有帮助!
PS:文中的资料都是免费分享的,有需要的朋友【
直接扫描文中的二维码
】,找我获取。
以上是关于社死天花板!连夜扛着火车逃离地球,本想试试大厂的面试,没想到直接逝世……的主要内容,如果未能解决你的问题,请参考以下文章
社死天花板!连夜扛着火车逃离地球,本想试试大厂的面试,没想到直接逝世……
社死天花板!连夜扛着火车逃离地球,本想试试大厂的面试,没想到直接逝世……