分享好友 最新动态首页 最新动态分类 切换频道
2024字节跳动,腾讯,网易云,京东等Android高级工程师面试经历(1)
2024-12-26 10:09

如果您有多余的时间,可以聆听下我的故事

从毕业到现在面试也就那么几家公司,单前几次都比较顺利,在面到第三家时都给到了我offer!前面两次找工作,没考虑到以后需要什么,自己的对未来的规划是什么,只要有份工作,工资符合自己的要求就行!所以在智联招聘上选好工资范围,就一顿海投,做等面试电话

做两快三年的Android开发,工作的任务也就是一些界面的编写,RecyclerView的简单使用,网络框架也是别人封装好的直接用,再就是集成些第三方的分享、支付什么的!技术上的提升可以说根本没有,和工作一年左右的人,比起来就多几个项目优势!所以这次出来找工作还期望15K,说起来心里很慌!有哪些原因呢

1、小公司要求不高,自己也抱着只要能做出功能的态度

2、对行业趋势把握不准,没有未来规划(所谓混吃等死

3、对自己的工作不感兴趣,上班有空闲时间也不会去深入学习

再来说说这次找工作面试的一些经历和感想!这次面试大大小小面试了十多家!依我自己在简历上写的几个商城类APP的工作经验,在智联和拉钩上也只有小公司能叫我去面试(所以说技术深度很重要

前面两次的由于面试没怎么准备,直接over肯定是没问题的!第一家一个小姐姐把我问得n脸懵逼(一个屌丝程序猴和妹子聊天就紧张,心跳加速,口干舌燥,说话结巴!她首先让我自我介绍一下,可脑袋一下像短路了一样!就说:“你知道的程序员表达能力差,嗯。。。嗯。。。你看简历吧!”她直接一脸无语

接着她就看到我简历有 Q1)ListView和RecyclerView的使用,就问我它们有什么区别? 我也就只能简单的答答RecyclerView怎么使用ListView怎么使用!然后她又问我 Q2)既然RecyclerView在很多方面能取代ListView,Google为什么没把ListView划上一条过时的横线?我当然是不知道怎么回答,然后就请教她,然后她就告诉我ListView采用的是RecyclerBin的回收机制在一些轻量级的List显示时效率更高!顿时我就服气了

后来又问我Q3)你用过MVP,那你知道Dagger2吧,介绍下吧?我又是一脸懵逼!这次面试就这样被个妹子给干趴了!从这回去我就开始回去看ListView和RecyclerView的区别、缓存机制、Android MVP+Retrofit+dagger2+RxAndroid框架等等

第二天又去一家小公司,这次是我用***“不知道”回答的最多的一次(但我从容面对这样的结果,因为自己真的很菜)面试一上来也是让我做自我介绍,由于这次做了准备,回答起来没那么难!后来他开始问我技术问题Q4)HashMap的内部实现原理?我想了下只能说“不知道”!接下来就问我Q5)Activity生命周期,有哪些启动模式,以及应用场景?这个还是难不倒我的!问到Q6)你用过AsyncTask,那你跟我说说AsyncTask的内部实现原理?因为我昨晚看了下,就开始跟他说首先我说说它的出现是为了解决在子线程中做了耗时操作后需要回到UI线程去更新这样一种情景,然后就开始准备说它的四个方法(doInBackground(Params…) 、publishProgress(Progress…)、onProgressUpdate(Progress…)、onPostExecute(Result),他立刻就打断我了,说我问的是内部原理Q7)内部维护了一个线程池,是串行还是并行,怎么维护的?这一问,我又是一脸懵逼,只能说“不知道”!他也很无奈,又问Q8那你说说线程池的四种初始化吧?我的第一反应是看都没看过,一句“不知道”又让他无语了!此时的我死猪已经不怕开水烫了Q9你用过MD,你知道怎么定义一个Behavior吗“不知道”Q10RecyclerView的拖拽怎么实现的“不知道”*!最后一曲凉凉送给自己

接下来的几家公司都是创业型的小公司,面试的人都是一些不懂Android开发的或者是会一点点!首先上来就是自我介绍,这我都说了好多遍了,我15年毕业于哪里哪里,从毕业一直到现在从事的是Android开发的工作,做过什么什么类型的项目!大学学的是软件工程,学过Android、计算机网络、嵌入式、数据库、C#等等(一顿操作猛如虎,哈哈。。。)但是这些创业型的小公司都要求你有能独立完成APP的能力,然后就跟你说什么公司背景有多牛呀,有期权股份呀,我们团队怎么优秀,这个平台能提升你很多能力呀,但是我们刚开始呀不会给你开太高的工资,但我们年终业绩好的话可以给你发4~6个月薪资给你做奖金!可能在这期间要加加班呀什么的

在这些中有一家都面试到了和项目经理谈了,自我感觉和技术总结聊得很不错,和项目经理也谈了自己未来的规划,先从Android入手技术深入,然后再自学H5前端,再像java后台靠拢做一个全栈工程师!项目经理也说你过来我们这有很好java后台资源,而且Android会交給一个人来做,未来业务发展也会加入H5,我们这能给你提供这样的一个平台!最后在某些方面我们的目标达成一致了,行先这样,我们再商量下,你回去等通知吧!结果我回去了,加了技术总监的微信,傻傻等了一天,啥也没等来(忠告:基本叫你回去等通知的都是没戏

当然这些公司中也有向我抛出橄榄枝的,有一家给我试用8k(不交社保,转正10K,大小周!一不交社保,二是大小周,三是那没我想要的,我思来想去,辗转反侧,以不能把自己贱卖为由,我果断谢绝了

比起套路,我更喜欢那些能直白告诉我结果的人!在去一家稍微大点的公司,首轮就是笔试!我笔试有一道算法题和数据库的题做不出,当时就知道这次没戏了!但很感谢面试我的那哥们,和我一样15年毕业的,但很牛逼!他拿着我的笔试答卷,*Q11首先是写一个SingTop,那哥们就问我,单例要注意些什么?我首先回答的到的同步问题,再说构造方法私有,可我忘了一点静态调用!那哥们就给我一条条理出来1、构造函数私有  2、含有一个该类的静态私有对象  3、有一个静态的公有的函数用于创建或获取它本身的静态私有对象  4、其次才是考虑线程同步Q12)*一个按升序排列好的数组int[] arry = {-5,-1,0,5,9,11,13,15,22,35,46},输入一个x,int x = 31,在数据中找出和为x的两个数,例如 9 + 22 = 31,要求算法的时间复杂度为O(n);

我给出的答案是

  • 1、先用二分法排除比x大的数,得到pos

  • 2、再从0到pos 通过两层for循环通过一个数与剩下的所有数来相加,等于x的时候break循环

那哥们就开始给我分析,首先第1点想法就是错的,应为给出的数组中有负数,负数+正数有可能得到中间的那个数,再则它这靠得是一个双向逼近的算法

接下来是一个数据库题目*Q13)*如何向一个数据库具有int类型A,B,C,D四列的表中随机插入10000条数据?如何按升序取出A列中前10个数?这道题我没答,我以为考的是数据库操作的基本语法!后来那哥们慢慢跟我分析这道题的考点在哪?他说:“这些语法我也不记得,但是像我们这样具有两年多工作经验的人百度一下也是能做得出的,但是这里考的不是基本语法数据库其实也就是一个文件,一个具有固定封装特定语法操作的文件,既然是文件读写就要考虑到效率问题!在数据库中提高效率用到什么,是事务!如果一条条插入,其实每次插入都会维持一个事务,也就相当于文件的打开和关闭,10000次的打开和关闭是很消耗性能的,所以要在插入前使用BEGIN TRANSACTION开启事务,再10000条数据插入完成时用END TRANSACTION结束事务,这样就相对于文件只打开了一次,10000条批量操作完后,再关闭文件!”

下面一题是*Q14)*service两种启动方式有什么区别?我回答得很简单!他就直接说“面试这笔试也是很重要的一部分,简历大家可以随便写,但是一些技术水平在笔试这是有所体现的,所以在我这笔试这关是没有通过的!”这个时候我挺服气的,毕竟是自己准备不好。后来那哥们就跟我说:“这面试题该背的该记得还是要记,花个两三天或者一周去准备,对自己多要一两K也是很值得的,所以该辛苦的还是要辛苦下!”我挺感谢这位哥们的,也挺喜欢和这样率直随意的人打交道

最后经过两个星期的面试,找了一家符合自己发展方向做智能硬件的公司!经过这段时间的面试,懂得了技术深度的重要性,还有职业规划的重要性!目前个人认为纯App开发很容易被取代,我个人的职业规划

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

最后

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析

资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

最新文章
cdr怎么转成psd
CDR(CorelDRAW)和PSD(Photoshop Document)是设计领域两种常见的文件格式,分别由CorelDRAW和Adobe Photoshop两款专业软件生成。CDR文件主要用于矢量图形设计,而PSD文件则主要用于图像编辑和后期处理。在实际应用中,有时需要将CDR文件
2024-2029年中国高压直流继电器(HVDC继电器)行业市场前瞻与投资战略规划分析报告
权威数据来源一手调研资料调研方法直接观察法(实地走访、网络观察)访谈调查法(个别面访、集体面访、电话访谈、视频访谈、小组座谈)问券调查法(在线问券、电子邮件问券、入户分发等)会议调查法(参加博览会、展览会、高峰论坛、研修会
2024年最新移动端独显性能天梯图:顶尖选择大比拼
随着移动设备性能的飞速发展,2024年的移动端独显性能已经达到了令人难以置信的高度。对于科技爱好者和电脑手机小白用户而言,了解最新的移动端独显性能天梯图不仅是对技术的追求,更是为了在购买新设备时做出更明智的选择。本文将对2024年
2024年11月MPV销量排行榜深度解析,格瑞维亚以10035辆夺冠
从具体销量排名来看,丰田 以10035辆的销量夺得冠军宝座,成为当月唯一销量突破万辆大关的型。这一成绩不仅展示了格瑞维亚在市场上的强劲竞争力,也体现了丰田品牌的市场号召力。第2名:赛那SIENNA(8543辆)第3名:别克GL8(5874辆)新能
AI绘图神器!如何轻松生成超逼真的美女写真?
ArtbreederArtbreeder是一款功能强大的在线AI绘画工具,用户可以通过混合不同的图像创建个性化的美女写真。它的特点在于可以自由调节脸型、发色、眼睛形状等各个细节,创造出独一无二的形象。对于艺术创作人来说,Artbreeder提供了无限可能
10款苹果手机数据恢复软件免费版分享,快来看看哪个适合你(亲测好用)
尽管苹果手机配备了多种数据保护措施(如iCloud),但由于意外情况或病毒攻击,“不可逆转”的数据丢失仍有可能发生。在这种情况下,最有效的解决方案是使用苹果手机数据恢复软件,这种工具能利用先进算法直接从设备或备份中提取丢失的文件
docker 可视化管理工具 shipyard 简介
目录 1、前言 2、shipyard介绍 容器管理 具体容器详情 镜像管理 3、shipyard安装 (1)镜像下载 (2)脚本安装shipyard         谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉sh
2021年华为最新款上市手机-2021年华为即将上市手机有哪些?
即将上市手机:华为 P50、华为 P50 Pro、华为 P50 Pro+已上市手机:华为 Mate 40 Pro 4G版,华为 nova 8 Pro 4G版1、主要配置机选网华为 P50屏幕6.2英寸,AMOLED120Hz处理器麒麟9000L相机后置:5000万主摄+1600万+800万前置:3200万续航440
AI技术在图像处理中的等比例缩放应用与发展探讨
AI怎么等比例缩放 (How AI Can Perform Proportional Scaling)引言 (Introduction)  随着人工智能技术的迅速发展,AI在图像处理、计算机视觉和其他相关领域中的应用越来越广泛。其中,等比例缩放是图像处理中的一项重要技术,它能够保持
2024年煤炭年度行业策略报告:信心修复顺周期发力在即,高股息与煤电联营依旧值得重视
自 2021 年煤价上涨以来,煤炭板块经历了一轮较长的景气上升和延续周期,2022 年全球能源危机加剧了煤炭的紧缺性,随着俄乌冲突的冲击逐渐减弱,煤炭供需 主要矛盾重新转回国内。2023 年四季度的煤价上涨为 2024 年初定下高价格基础, 但受
相关文章
推荐文章
发表评论
0评