程序员成为“备胎”的5年,我一直在等...(外包——字节跳动)

Android725 Android725     2022-12-02     248

关键词:

为什么离职?

这个问题,几乎我参加的每一场面试都会问到。我是2015.7.1毕业,最后离职日期是2020.12.18。这段工作经历不算长,被问到也很正常。最主要原因还是追求更大的发展空间和技术突破。

在我导师跳槽去美团后,团队内就出现了明显的技术断层。我遇到的某些问题,能够与之商量的同事也越来越少。至于源码,数据结构和算法层面的交流就更少了。

而这些深层次的东西,才是真正意义上的技术栈,是真真正正能提高个人技术能力和核心竞争力的东西。

自我介绍

双非二本,软件工程

喜欢编程,古风,日语和英语。

求职期间写了一个小博客,感兴趣的可以看看

GitHub

跳槽前该考虑的事?

在我看来,决定是否跳槽成功的核心因素有两个:个人技术能力和当前招聘市场的大环境。建议先将自身技术能力和招聘要求做一个比对,如果觉得可以胜任,再去投递也不迟。至于市场环境,大概是金三银四,金九银十和年末扩招三大阶段吧。

如果技术已经准备ok,简历也完善过,那就可以开始投递了。内推也好,其他招聘软件也好,自行选择即可。

最最最重要的一件事,不建议裸辞。如果裸辞,做好心理准备。大多数情况下,换一份满意的工作,整个面试流程加offer审核到offer call再到最终邮件offer,耗时一个月是很正常的。在职面试都会有焦虑感,更何况是裸辞。

如果工作年限很短,又是裸辞,那我只能说在简历筛选上会很吃亏。比如我,投字节15个岗位,都被干掉,到第16个才约上面试。投快手4次内推,被干掉4次,最快的一次一小时左右就把我干掉了。不得不说,快手效率还是到位的。不死心的我又投了第五次,成功约上了面试。至于后来为什么能再约上猿辅导,百度,58同城,去哪儿网,美团的面试,我猜应该都是因为运气…又或者,实在很缺人?

字节跳动面试经历

一面

  1. java有哪些集合
  2. Set, List, Map都有哪些实现类,有什么区别
  3. ArrayList和LinkedList区别
  4. HashMap原理,put时怎么判断key是不是null
  5. gc的几种算法
  6. 如何识别是不是垃圾(引用计数器,可达性分析),引用计数法有什么问题,gc root有哪些
  7. java为什么采用可达性分析不用引用计数器
  8. java中多线程怎么通信的
  9. synchronized和volatile区别
  10. sleep()和wait()的区别
  11. 讲一下https
  12. 编程中用https发请求和http有啥不同吗
  13. 写过Socket吗
  14. http请求有哪些方式,get/post区别
  • 编程题:找出数组中,升序子数组长度top2的数组

二面

  1. java的4种引用方式
  2. finalize()作用
  3. 写一个双重检验的单例模式,这样就能保证线程安全了吗,怎么解决
  4. volatile原理,了解ReentrantLock吗
  5. http1.0, http1.1, http2的区别
  6. http状态码
  7. 如何关闭http连接
  8. try catch finally怎么用,一般什么时候用finally
  9. 还了解什么设计模式
  • 编程题:找出岛屿个数,leetcode第200题

这个编程题我没写出来,面试官引导了将近一个小时也没写出来,然后居然过了。。

三面

  1. 从List中删除指定元素(有重复),要求只用list接口的函数(就是考察对list的熟悉程度,不是算法题)
  2. 重载和重写的区别
  3. 多态的原理
  4. 项目中的难点
  • 编程题:从非降序数组中找出第一次出现的target元素下标
    int[] array = 1,2,2,2,3,3,5,6,8, int target =2

需要答案可以查看我的【GitHub

技术方面该如何准备?

结合我20多次的面试经验,总结出一个核心:基础。即便是大厂,也不会忽略问基础,反而更重视这个。基础不稳,地动山摇。基础稳如狗,大厂随便走。以下我提到的资料都会在文末给出链接,大家可自行查看。

面试知识点

  • 思维脑图

  • Android面试过程所需要掌握的技术

一场面试都有一个流程,拿Android面试来说,面试内容不可能全是Android问题,里面应该会有编程基础相关的问题。我对Android面试中的问题做了下分类,如下所示:

一般来说,一个Android应用开发岗位是不需要太强的数据结构和算法的,但是这并不意味着候选者可以完全不懂数据结构和算法,所以数据结构和算法大家还是要稍微了解下,由于它不是必须的,所以就算面试过程中回答的不好也没关系,只要后面的Java、Android相关的问题能够完美回答就好。有同学和我反馈,说面试挂在了数据结构和算法,这在社招中应该是不多见的,这多半是因为Android的问题也没有很好地回答出来,这就是社招和校招的不同之处,校招看基础,社招看技术深度和业务。

关于设计模式和架构,其实中高级面试对这个的要求并不是特别高,熟悉下常见的设计模式基本就ok,比如单例模式、工程模式、观察者模式等。

接下来主要描述下面试过程中对Android技术的要求。在我对Android的理解这篇文章中,我对Android的技术类别做了一下划分,如下所示

对于大部分面试者来说,大家的目标岗位应该是中高级,中级岗位(百度T4)需要掌握的知识点是:基本知识点、深入知识点;高级岗位(百度T5)需要掌握的知识点是:基本知识点、深入知识点、基本知识点的细节和系统核心机制。

1. 基本知识点
比如四大组件如何使用、如何创建Service、如何进行布局等。这类知识是需要熟练掌握的,并且也没什么难度。

2. 稍微深入的知识点
比如AIDL、Binder、多进程、View的绘制流程、事件分发、消息队列等。这类知识对于高级开发者来说也是必须掌握的,然而相信很多候选者在面试之前并不能对这些问题了如指掌。这些问题基本都是面试过程中很常见的问题,也是高级岗位所必须掌握的问题,不搞定这些问题无法达到百度的高级工程师的标准,因此也不可能通过面试。

3. 基本知识点的细节
比如Activity的启动模式和标记位、Service同时处于start和bind状态时的停止问题、AsyncTask的同步异步问题以及使用时的限制等,这种问题还有很多。这类知识点,大家在开发过程中可以并不会去注意,这会导致一个问题,那就是开发应用没问题,但是在面试时面试官只要稍微问下细节或者特殊情况,就hold不住了。 这类问题也是高级开发者所需要掌握的,有些面试官喜欢问一些看似刁钻的问题,但是候选者如果回答不了也是不好的。

4. 系统核心机制
比如主线程的消息循环、主线程如何和AMS如何跨进程交互、SystemServer进程中的各种Service的工作方式、AsyncTask的工作原理等。这类知识对于高级开发者也是建议掌握的,因为它们可以让开发者理解Android的运行体系。 这类问题并不是所有的Android面试都会涉及到,但是技术含量高的大公司有可能涉及此类问题。

5. 琐碎的知识点
此类知识点我把它们定义为一些重要但是没有什么技术难度的问题,比如如何打开一个网页、如何打电话、如何发短信、如何定位、多点触控等,这类问题往往不好记忆,但是需要的时候去查一下就能立马搞定。这类问题基本上不会出现在面试过程中。

尾声

最近小编在大神哪里买下了几十套阿里、头条、腾讯和美团等公司2020-2021年金三银四的面试题,把技术点整理成了视频+文档(总计20G,实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

这份资料尤其适合:

1.没有工作经验,但基础非常扎实,对Android工作机制,常用设计思想,常用Android开发框架掌握熟练的。
2.具有一定工作经验的,但面对目前流行的技术不知从何下手,需要快速提升核心竞争力的人群。
3.在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以报名。
4.想了解“一线互联网公司”最新招聘需求/技术要求,对比找出自身的长处和弱点所在,评估自己在现有市场上的竞争力如何;
5.做了几年Android开发,但还没形成系统的Android知识体系,缺乏清晰的提升方向和学习路径的程序员。

相信它会给大家带来很多收获。(更全的内容和资料,在文末获取)
Android面试题(部分展示)

  • 精华Android 初级-高级学习进阶思维脑图(有几百个细分支,系统学习)

  • 学习笔记(只展示部分)

  • 大厂面试笔记(包含面试题+解析+面试HR必备知识+学习Android基础—高级知识点)

我的学习笔记和每个阶段该学的知识都放在以下的学习思维脑图里了,因为是跨专业所以知识点很细,也算比较全,需要的可以自己保存下载,如果需要xmind版本的,自己添加学习知识点的,可以查看我的【GitHub】免费分享给你!(笔记是对应思维脑图的,每个知识点细节都有详细讲解,需要的同样查看我的GitHub我分享给你)

需要的可以 思维脑图和对应学习笔记的朋友,点击获取

https://jq.qq.com/?_wv=1027&k=ELs9hPI2

总结

如果你对自己的智商,解决问题的能力,钻研的态度,有信心,it行业非常适合你;能力锻炼出来了,工资就高,不停的抛出问题给你解决,让你有成就感;技术水平随着时间积累,越到后期越强;那你赶紧去报班/自学,从实习生做起,3年之后自然NB;如果你想混(钻研精神不足),真的会很惨;半辈子没挣得什么像样的资产(初级程序员工资真心不高),长期加班熬夜落下一身病,然后40岁除了编程啥也不会,编程还贼菜,在小公司厮混业务代码,老板说不定什么时候就说散伙,然后和小伙子们竞争初级程序员岗位。。。。。;

坚持8年的老前辈的经历告诉我,在错误的方向上,越坚持越受伤;

大学4年计算机专业,毕业4年外包经验,我终于上岸了......

...想说的是,但凡有点机会,千万别去外包!在程序员圈子里面,外包程序员似乎永远处于一个尴尬的角色,如果你说他们不是程序员吧,他们也是程序员。应该说是外包这个词比较尴尬吧。从我个人的从业... 查看详情

大学4年工程专业,毕业3年外包经验,我终于上岸了

...想说的是,但凡有点机会,千万别去外包!在程序员圈子里面,外包程序员似乎永远处于一个尴尬的角色,如果你说他们不是程序员吧,他们也是程序员。应该说是外包这个词比较尴尬吧。外包公司缺点&#x... 查看详情

测试外包干了5年,感觉自己已经废了····

...f0c;工作已经四年多快五年了。现在正在找工作,由于一直做的都是外包的项目。技术方面都不是很深入,现在找工作都是会问一些,测试框架,自动化测试,感觉不懂的东西太多了,现在很迷茫,但是... 查看详情

身处外包中!有过低谷5年时间让我年薪近100w...我的不放弃,让我看见了最美的明天...

...二本毕业,和同学们吃完最后一顿散伙饭后,我成为北漂的一员。还记得,那是第一次求北京,觉得身边的一切都是新鲜的,城市车水马龙,我也暗自下了决心要在这座城市大干一场。我记得面试了几十家... 查看详情

4年外包终上岸,我只能说这类公司能不去就不去

...f0c;我想说的是,但凡有点机会,千万别去外包!在程序员圈子里面,外包程序员似乎永远处于一个尴尬的角色,如果你说他们不是程序员吧,他们也是程序员。应该说是外包这个词比较尴尬吧。从我个人的从业... 查看详情

4年外包终上岸,我只能说这类公司能不去就不去..

...f0c;我想说的是,但凡有点机会,千万别去外包!在程序员圈子里面,外包程序员似乎永远处于一个尴尬的角色,如果你说他们不是程序员吧,他们也是程序员。应该说是外包这个词比较尴尬吧。从我个人的从业... 查看详情

我不想干外包了,连续两次跳槽,我有幸成为了字节跳动的一名java后端开发~

...运,那就只能拉高努力的占比。2021年7月,我有幸成为了字节跳动的一名Java后端开发,正如标题所说,我从外包辞职了,10000小时后,走进字节跳动拿下了of 查看详情

成为it精英,我奋斗7年

  这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向,所以把我的经历写出来与大家共勉,希望能... 查看详情

干了5年初级程序员,我好像开窍了……

很多刚刚踏入职场的“初级程序员”常常会期待自己在不断提升技能和丰富实践经验后,有朝一日晋级为“高级程序员”。近日,一篇《是什么造就了高级程序员?编写软件与建筑系统》的文章,在HackerNews上引发... 查看详情

程序员二本毕业在华为外包工作3年,晒出收入和存款,还以为看错了

在职场中选择公司非常重要,有些人为了贪图大公司名气,选择去干大公司的外包,但要知道外包跟正式员工,不管是收入还是从职业地位来说相差非常大,所以建议想去外包公司上班的请慎重。最近在职业... 查看详情

靠谱外包公司真的不好找,先看看他的技术栈

...是外包市场low,外包企业low,而是多数人做low了。 我一直 查看详情

毕业后5年,我成为了年薪30w+的测试开发工程师

...,主要以功能测试为主。我用了大概6年的时间,成为了年薪30w+的测试开发。回顾我从功能测试到测试开发的成长路径,基本上是伴随着“3次能力飞跃”实现的。入行进的是一家小公司,刚开始的时候,什... 查看详情

华为外包员工是什么样的群体?

最近身边很多人进了外包或者被问道进到外包公司怎么样,感觉大家对外包公司不是很了解,也有一些误解,我们看看过来人怎么说。 5年外包夫妻我和我老婆都曾是华为外包员工,就职于东莞松山湖,已经... 查看详情

成为it精英,我奋斗7年(转)

转自:http://blog.csdn.net/kuangbin2009/article/details/8663074这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向... 查看详情

刚出社会干了5年外包,已经废了

如果不是女朋友和我提分手,我估计现在还没醒悟。大专生,17年通过校招进入湖南某软件公司,干了接近5年的点点点,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕... 查看详情

程序员二本毕业在华为外包工作3年,晒出收入和存款,还以为看错了

在职场中选择公司非常重要,有些人为了贪图大公司名气,选择去干大公司的外包,但要知道外包跟正式员工,不管是收入还是从职业地位来说相差非常大,所以建议想去外包公司上班的请慎重。最近在职业... 查看详情

3年外包码农近期烦心事

...过得真快啊,七月份就工作3年了。从最开始进入到华为外包,到今天我个人对自己的发展还算比较满意的。当然这要非常感谢我身边的同事帮助,以及项目经理的器重。或许在高手看来我依然不过是个菜鸟,但是毋庸置疑的是... 查看详情

都说外包毁简历,说说我的经历:外包两年跳进外企和大厂!简历污点不是外包经历,是技术太差!...

都说外包毁简历,事实是否如此呢?一位网友分享了自己和身边外包员工的经历:他之前是软通的,外包两年,跳槽出来接到过外企、央企和上市公司的offer,选择了外企,在外企两年后,又接到字... 查看详情