技术标签: 大厂 安卓 程序员 面试 移动开发 Android
先做下自我介绍,两年前毕业于一个三流本科,计算机专业,实习在某小公司。
随后毕业来到北京的一个创业公司,半年后成功进入一家大厂做 Android 开发,最近又换了一个大厂。
确实没啥牛逼的经历,不过牛逼的经历也不一定适合每个人。就像制定方案一样,合适才是重要的,总不能说你们产品日活1000,结果整天谈淘宝微信的方案是是如何厉害。
说个残酷的事实:三流大学毕业直接进大厂的机会非常小。
首先校招,大厂根本不会去你们学校。
其次,即使你参加了大厂的校招,你面对的竞争对手将是大片一流大学的优秀学生,如果你的简历没有十足的亮点掩盖学历不足,那得到面试的机会基本为零。
所以接下来我会从五个方向分析,通过社招,我是怎么进入大厂的。
2017年中,市场热情褪去,资本市场开始冷静,互联网初见寒冬。
刚毕业经验不多,拿着一个实习的经验来北京到处碰壁,也被无良凑 KPI 的 HR 骗过去过。
找了快一个月,面了20家左右(都是不知名的小公司),一个 offer 也没有。
当时心灰意冷,拿着最后打印的五份简历,想着这五份简历要是用完了还没找到工作就换个城市。
幸运的是这五份简历只用了一份就收到了一个创业公司的 offer做APP。
当时公司只有我一个技术,产品是老板远程,技术讨论是老板的老公远程。业务不急,每天准点下班,上班还能摸会儿鱼,生活过的好不惬意……
随后工作了半年多,感觉不能再在这里耽搁时间了,因为我怕待久了就长歪了,所以开始了骑驴找马的模式,一边工作,一边复习,一边找工作。
本着试试看的心态,投了一些大厂,没想到竟然收到了好几家的面试邀请,百度、美团、京东、头条…
现在来看,寒冬刚来的时候,好多大厂也没反应过来,仍然在积极扩招,并且对学历限制的不是很严格,所以我能收到大厂的面试邀请。
有了面试邀请,那简历那关就算过去了,接下来就要靠自己的实力和一些其他的因素了。
PS:现在的互联网环境也没有2018年那么冷了,好多公司又开放了社招,也很久没听说大批裁员的消息了。
时机也是很重要的一点,互联网招聘一直在说金三银四,说的就是找工作和招聘,三月和四月是最好的时间。
我觉得不然,既然普遍认知这个时间段好找工作,机会多,也代表这个时间换工作的人也多,所以你的竞争对手也多了起来。
那对于我这种学历没优势,工作经验亮点也不多的人,影响会更大。
所以我选择在了年底换工作,因为大部分互联网公司都会有年终奖的,多数人还是舍不得在就要拿到年终奖的时候选择换工作。
还有一点,我做的是 Android 相关的工作,设立这门学科的学校很少,而且2017年底,早就过了Android 大热的时候了,培训班都开始培训人工智能机器学习云云。和之前比,竞争的人多少会少一些。
所以在竞争不是很激烈的时候,我收到了几个大厂的面试邀请。
发出 offer 的公司是京东。说实话,京东在大厂里属于比较不看重学历的公司,
因为在我身边同事既有 985 211 这种院校的研究生,又有和我差不多的二流大学本科生。
还有京东有52原则,五年内换的工作不能超过两家,这样又卡了一批竞争对手。
哈哈,总是落在竞争的人少这里,不过其实只要有了面试机会,那学历就不会太拖你后腿,能不能收到 offer 就看你自身实力和面试发挥了。
因为这篇文章不是面试宝典云云,所以就不详细说如何面试,只说几个需要注意的点吧。
面试的过程中要保持自信
如果面试的过程中你自己都觉得不行,那面试官对你的感觉可能也不会多好,不过保持自信的前提是你要有充足的准备迎接面试官的问题。
注意:遇到一时答不上来的问题可以直接说需要思考的时间,切记随便按自己的理解作答,给面试官一种不专业的感觉。
时刻保持微笑
怎么说呢,至少能增加一点面试官对你的好感吧,如果是同部门的面试,面试官也要考虑以后同招聘的人共事,至少没有人会嫌弃性格好的同事吧。
提前做一些要面试公司相关业务的准备
这一点大部分人都会忽略,如果你知道了你将要面试的部门,那么最好做一些相关业务的调查。
这样面试官在和你讨论到公司业务层面上,你至少能说上一些事情,能体现你对这个行业的一些理解,和平时对工作的思考,非常能加深面试官对你的印象。
**说一个小技巧,**就是即使面试官没有主动和你讨论公司业务或者行业情况,他也一定会问你有没有什么想问的,这时候你就可以问一些这方面相关的问题。
说了那么多自己影响不了的因素,最后说下自己能决定的因素,也就是你自身的努力。
我大学时候大部分时间泡在了图书馆,并且参加一些编程相关的比赛,拿了几个奖。
在学习的过程中还输出一些知识在博客中,并且在校期间就做了几个 Android 相关的项目,简历上还算有的写。
知道基础很重要,《大话数据结构》这本书里的每个实现我都自己实现过两遍,记录了好多篇算法相关的博客,为了学习算法,一整个寒假都在家里学习,每天至少要 AC 五道题目。
大三上学期开学前就学完了即将开设的 Java 课,大四整一年都在一家公司实习,毕设只是用空闲时间完成的。
那你问我毕业后怎样增加自己竞争力,什么样的简历才能入大厂 HR 的法眼。
**学有所留。**虽然工作了之后懒了很多,不过我还是在坚持写博客。
一些学习的收获、个人感悟都可通过一个固定的平台有所输出,比如简书。把自己的账号链接放到简历里,HR看了也会给简历加不少分。
**持续输入。**经常会买一些技术相关的课程,闲了就学习一部分,感觉收获很大。
通过付费课程学习有两个好处,一是付费课程的内容相对会有些保障,避免了免费课程中大量的无效信息,节省时间成本。二是买来了不学总觉得亏,会驱动自己主动学习。
**有意积累一些能在简历上写的亮点。**比如说 Android 开发,主动做一些性能优化相关的事情,启动优化,卡顿优化,网络优化等等。既能提高自己的技术水平,又可以写在简历上吹牛逼,何乐而不为。
也可以发布开源项目,增加自己实战经验和影响力。
**勤思考。**比如 APP 的架构设计,为什么采用某某架构,网络请求为什么用这个库,相对以前的库,有哪些优势,自己实现一个的话有什么思路。
我在决定换工作的时候,就制定系统的复习计划,面试前夕又疯狂补习面试相关内容,各种内部笔试题,求职者的面试经验之类的。
进大厂的影响因素真的有很多,我觉得我是一个幸运的人,但同时我也是一个不断努力的人。
环境时机不好,你就努力投资自己,等待机会到来。
Android学习PDF+架构视频+面试文档+源码笔记
在这里分享一份我自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
如果你有需要的话,可以点赞,关注我,然后关注微信公众号【Android开发之家】免费领取
越努力越幸运,当好运来临的时候,才能厚积薄发,一把抓住。
希望对大家有帮助……
素材来自:王大炮
1.校园生活从上一篇博客中,点击主页面中的校园生活,进入以下界面,如图一 图11.基本步骤1.创建布局在layout文件夹下创建布局文件,最外层布局添加背景图片,添加4个Text组件并进行右对齐的竖直居中显示,代码如下<?xml version="1.0" encoding="utf-8"?><DirectionalLayout xmlns:ohos="http://schemas.huawei.com/......
本文研究了数据相似性的计算方法,对Bloom filter和LCS两种常用相似性检测算法进行剖析、实现和分析比较。
上周处理一个表格时,发现TableView实际显示比设置的位置低了一段高度。查资料发现是iOS7之后,UIViewController增加了一个新属性:automaticallyAdjustsScrollViewInsets;该属性默认值为YES,将其设置为NO,表格显示效果就正常了。对于automaticallyAdjustsScrollViewInsets属性,苹果官方文档给出的注释:
HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap 最多只允许一条记录的键为 null,允许多条记录的值为 null。HashMap 非线程安全,即任一时刻可以有多个线程同时写 HashMap,可能会导致数据的不一致。HashMap数据结构HashMap 里面是一个数组,然后数组中每个元素...
文章来源: www.idatafox.com 配套视频库: http://u.youku.com/javaface http://ke.qq.com/cgi-bin/courseDetail?course_id=83481许多网站都进行社区化,互动式的成长,你也许已经开始使用独立的一个论坛,一个WIKI知识库,或聊天程序来达到这样的目标,但
关于所有的emoji图标代码,可以参考emojipedia,不过GitHub上有一套约定俗成的emoji使用规范,我整理成了以下表格,在使用git提交信息的时候,你不妨尝试使用它们,让你的提交信息更加明晰和生动。emoji emoji 代码 commit 说明 ???? (调色板) :art: 改进代码结构/代码格式 ️ (闪电) ???? (赛马) :zap::racehorse: 提升性能 ???? (火焰) :fire: 移除代码
操作系统操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统所处的位置如图1.操作系统的功能1.隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的(系统调用接口)。2.将应用程序对硬件资源的竞态请求变得有序化。2.计算机的发展历程1.1940-1955(第一代计算机)真空管和穿孔卡片,没有操作系统,没有编程语言。优点:程序员...
不多说,直接上干货,没有这个方法时你需要这么写 Emp emp = new Emp(); int id = rs.getInt("id"); String ename = rs.getString("ename"); int job_id = rs.getInt("job_id"); ...
本文借鉴:https://blog.csdn.net/nnsword/article/details/79498690软件环境开发环境:开发环境是程序员们专门用于开发的服务器,配置可以随便调,为了开发调试方便,一般打开全部错误报告测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它分布在生产机上生产环境:是指正式提供对外服务的,...
1.Docker简介我们先来了解两个概念:(1)什么是容器?• 容器技术已经成为应用程序封装和交付的核心技术• 容器技术的核心有以下几个内核技术组成:– CGroups(Control Groups)—实现对资源的配额和度量– NameSpace—进程隔离:实现Container的进程、网络、消息、文件系统和主机名的隔离– SELinux安全• 由于是在物理机上实施隔离,启动一个容...
背景知识 http://blog.sina.com.cn/s/blog_66439a3e0101dkef.htmlhttp://blog.sina.com.cn/s/blog_698f90230100xt05.html1、Ubuntu运行级别 Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要
Torch.nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True)in_channels:输入维度out_channels:输出维度kernel_size:卷积核大小stride:步长大小padding:补0dilation:kernel间距--------------------------------------------------