“老板,对不起!我胃不好,您给的饼我消化不来”,我去腾讯吃“软饭”了!

2024-02-02 17:38

本文主要是介绍“老板,对不起!我胃不好,您给的饼我消化不来”,我去腾讯吃“软饭”了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

啊!我亲爱的张姓前老板,真希望你也会逛CSDN,能看到我对你深深的歉意!

前言

我是一名双非本科毕业一年的Android开发渣渣,坐标深圳。在此次上岸腾讯之前,自己一直都是在一家10多人的创业公司承当“Android首席开发官”的职务。从裸辞准备到上个月20号拿到腾讯的offer,历经2个多月的时间,接下来就给大家分享一下我这段时间的学习心得与面试经验。

所谓“Android首席开发官”,其实也就是跟朋友吹牛皮时的一句玩笑话。包括老板、财务、业务人员、开发人员等,拢共15个人,如果算上物业的保洁,就算15个半吧。我马某很是“有幸”从这15个半的员工当中脱颖而出,出任“Android首席开发官”一职。

“一个人守一座城”的磨练,让我不得不去不断的加深自己的技术深度与广度,来以坐稳高位,但同时提升的还有自己的眼界与“野心”。

“我TN的,全公司Android这块的开发就是我一个人在抗,钱还给得少!”

“辛辛苦苦干了一年,竟然连个年终奖都没得,说是因为今年公司没怎么赚钱,明年补3倍?”

“那你前阵子刚换的奥迪A6L,是TN的中彩票中的?老子还不跑路,还留着过年?”

这是一个悲伤的故事,但现在看来又是个幸运的故事。感谢你的磨练,技术上和身心上双重的。12月底办完离职手续,然后开始面试准备,刷面试题,算法题,面经,然后投了一轮非知名“大公司”来检验自己,查漏补缺,复盘学习。在2月初的时候开始冲击大厂,算下来投了,字节、美团、oppo、阿里、腾讯、百度、网易,最终被腾讯音乐的QQ音乐收了。

一点面经

总的感觉,虽然是社招,但是对于只有一年经验的面试者其实和校招感觉差别不是很大,四轮都是视频面试,面试官都很准时,而且人都很好,在回答卡住的时候会给与提示,在反问环节我也看出了面试官的思路是非常清晰的,总的来说整个面试过程非常nice。接下里就给大家具体分享下腾讯四面的面试题,希望能给准备面试腾讯Android岗的小伙伴一些思路和帮助!

2.9 一面 1h15min
    1. 为什么离开上家公司
    1. 在开发中遇到的最大的困难?怎么解决的
    1. 接口和抽象类的区别,一个类的能不能多继承,能不能实现多个接口
    1. 接口类的非方法能不能被修改?不能,接口类里非方法的类型都是final修饰,所以必须初始化并且不能被修改
    1. 抽象类的变量可以被继承和修改么?可以final关键字
    1. GC如何标记要回收的内存?GC Roots有哪些
    1. 线程安全问题,sychronized、lock/unlock的区别使用,公平锁和非公平锁的概念
    1. sychronized是如何体现公平锁和非公平锁的(CAS、锁自旋)
    1. HashMap原理,在什么时候扩容(当加入的元素大于阈值threshold后)。以及线程安全的HashTableConcurrentHashMap的原理
    1. View的事件分发
    1. 布局优化怎么做的?LinearLayout和RelativeLayout在性能上的区别
    1. WebView的优化,如果出现了数据的交互该怎么做?(AIDL),Binder怎么实现进程间通信的?mmap的模型
    1. 内存优化?RecyclerView的缓存机制,如何优化
    1. 项目中的联网模块怎么实现的?UDP和TCP的区别
    1. TCP会检查包的顺序么,Tcp怎么控制包的发送(滑动窗口)
    1. 看到项目中使用了WebSocket,讲下它和Http的区别
    1. RxJava的操作符?项目中是如何使用RxJava的
    1. 快速排序和冒泡排序的稳定性问题
    1. 编程题:将一个分数转化成小数形式输出,因为分数只可能是有限小数或无限循环小数。如果小数是无限循环小数,则使用小括号括起。(这题思路是做while轮除。我界定是否产生了无限循环小数是使用的HashTable。)
    1. 对我们公司了解多少?有什么想问的?
2.12 二面 45min
    1. "abcde"字符串在内存中占多大,这些字节在JVM的编码格式
    1. JVM堆和栈的作用,进程和线程的作用,堆栈和线程进程的对应关系
    1. 死锁怎么产生?如何去解决死锁,多个方案
    1. 线程同步问题,自增是原子操作吗?如果要做到线程安全的自增要做怎么做
    1. 快排的过程,时间复杂度,n*lgn是如何得来的
    1. Http是在哪一层,Https使用了非对称加密还是对称加密?
    1. TCP和UDP的区别?为什么UDP不可靠还要使用UDP
    1. 拥塞控制和流量控制的区别
  • 9 . 智力题:给一篮子鸡蛋,如何用最少的比对次数找到最大的和最小的鸡蛋。
    (我的回答是 一开始,随便拿出两个鸡蛋,然后接下来剩下的鸡蛋每拿出一个,就和这两个进行比较,如果比两个中小的鸡蛋小就替换小的那个,如果比大的鸡蛋大就替换掉大的那个,这样比较次数就是 (n-2) *2 ,因为有些鸡蛋只用比一次就行了(因为是最小的就不用往大的比了),所以结果是小于 (n-2) *2的,但我觉得应该还可以更加快…)
    1. 编程题,排序二叉树的插入,如果插入相同的数,需要做什么保证树可以还原(即不允许丢弃到相同的数)?
    1. 有什么要问的?
2.17 三面 1h20min
    1. 两桶油漆,A桶全是红色油漆,B桶全是蓝色油漆,将A桶中取一勺倒入B中,再从B桶中取一勺倒入A中,求A桶的蓝红比例和B桶的红蓝比例,是大于、小于还是等于?
    1. 用一个数组实现一个循环队列
    1. 给定一个只有“R”“G”“B”三个字母的字符串,用一次遍历基于原字符串将他们以“RGB”的顺序排序好(LeetCode原题)
    1. 52张扑克牌,取一张不放回,再取一张, 两张为相同颜色的概率是多少?
hr面 45min
    1. 自我介绍
    1. 为什么选择计算机这个专业
    1. 为什么要离开上家的公司
    1. 在上一个公司学到了什么
    1. 选择公司因素,按优先级排个序
    1. 用三个关键词描述自己
    1. 代入用户思维和不代入用户思维做产品有什么区别
    1. 家庭情况,有没有女朋友
    1. 你觉得一个好胜心过强的人会有什么样的问题
    1. 你会想在团队里面承担一个什么样的角色
    1. 平时的爱好是什么
    1. 有没有给自己制定一些计划?对自己的要求有多高
    1. 学习的渠道、方式,有GitHub吗?看什么样的书
    1. 学习是基于公司项目学习,还是个人兴趣学习
    1. 预计到岗时间,期望薪资
    1. 反问环节
简单总结

总结一下,技术面环节主要考项目和Java基础、编程题要注意规范和思路是否最优。和HR小姐姐聊得很开心,然后在2月20号收到了offer。

一些分享

因为上家公司“Android首席开发官”职责的原因,所以平时加了不少技术交流群,以便于自己在遇到问题后,请教学习。这次能成功跳槽腾讯,也是非常感谢群内一位腾讯的前辈老哥给予的一些学习计划指导,和一些面试题、技术笔记分享,让我在短时间内有实力“入赘”腾讯。再经得大佬同意的前提下,我把这套进阶笔记及面试题集分享出来,希望能帮助到更多有着大厂梦的朋友。

  • 架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO

架构师筑基必备技能

  • 设计思想解读开源框架

随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。

所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。

知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计

设计思想解读开源框架

  • 360°全方位性能调优

在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。

另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。

1、设计思想与代码质量优化

2、程序性能优化

  • 启动速度与执行效率优化
  • 布局检测与优化
  • 内存优化
  • 耗电优化
  • 网络传输与数据储存优化
  • APK大小优化

3、开发效率优化

  • 分布式版本控制系统Git
  • 自动化构建系统Gradle

4、项目实战

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

360°全方位性能调优

  • Android框架体系架构

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析

Android框架体系架构

  • NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

NDK模块开发

  • Flutter学习进阶

2019 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

Flutter学习

  • 微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

微信小程序开发

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

Android相关源码解读
Android相关源码解读部分内容

  • 腾讯历年面试真题集(含解析)

腾讯历年面试真题集(含解析)

由于篇幅原因,需要以上完整学习笔记及面经pdf如有需要,可以 点赞+评论 沾沾喜气,然后点击这里免费自取!

这篇关于“老板,对不起!我胃不好,您给的饼我消化不来”,我去腾讯吃“软饭”了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/671471

相关文章

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

腾讯社招面试经历

前提:本人2011年毕业于一个普通本科,工作不到2年。   15号晚上7点多,正在炒菜做饭,腾讯忽然打电话来问我对他们的Linux C++的职位是否感兴趣,我表达了我感兴趣之后,就开始了一段简短的电话面试,电话面试主要内容:C++和TCP socket通信的一些基础知识。之后就问我一道算法题:10亿个整数,随机生成,可重复,求最大的前1万个。当时我一下子就蒙了,没反应过来,何况我还正在烧

完整的腾讯面试经过

从9月10号开始到现在快两个月了,两个多月中,我经历数次面试和笔试,在经历这些的同时积累了不少的经验,也学到了不少东西,在此把它记录下来,算是和一起找工作中的同学一起共勉吧。我是本校的学生,专业是机械制造及其自动化,找工作的主要目标是计算机软件类和机械制造方向的国内的企业,所以意向去外企的同学就不必浪费时间看这些面经啦,想去国内IT企业的同学可以继续看下去。本贴中我把最近的腾讯面试经过写下

如何提高开发的效率,让老板不知所措的给你发工资

设计模式 UML JSP 编程 数据结构 1.你可能会常常发现,写了一段代码后,编译程序时是一大堆的出错 (原因:语法不熟)  ──别担心,这是每个程序员必须经历的事,这时候你就需要更大的耐心及细心,对每一行代码进行仔细人阅读并改正,这个很重要,这可以培养你的理解代码能力,所以要常读程序,不要等到程序运行以后才知道你的程序的结果。  ──如何避免:在写代码以前,要认真的学习计算机语

腾讯面试准备

hash、map、dict区别 右值引用 虚函数和纯虚函数 虚表 运算符重载 epoll和select es原理 一面 waf运行在nginx哪一个阶段nginx后台连接超时是否会再连接 估计是max_fails, fail_timeouttcp黏包?大数据求中位数 需要注意的问题 数据库分布式数据库分表数据库拆表大数据读取数据库查询优化等等数据库相关问题

app提交到腾讯开发平台,提示无法获取签名信息,请上传有效包(110506)

最近提交APP时遇到的,一般情况下是因为打包时至勾选v2没有勾选v1的原因,如下图: 这个时候将v1勾选即可。 但是在打包时ˉv1和v2都勾选了也可能会出现这个报错,那就要看一下gradle的 minSdkVersion,如果这个版本在24-26之间也可能会提示这个错误,所以降低这个版本就可以了

腾讯8分钟产品课|1-8集总结

用户、定位、需求、时机、匠心、危机、合作、商业——还原产品背后故事,分享腾讯产品心法。 一、用户:一切以用户价值依归 1、定义用户:明确产品服务于谁,目标用户是怎样一群人,他们的喜好是什么,在什么场景下使用产品。 2、接近用户:用户访谈、回复发帖、阅读反馈、问卷调研、走进场景、观察行为、分析数据......通过多种渠道接近用户,持续获取真实的用户画像。 3、了解用户:站在用户角度思考问

除了立体监控,Clickhouse在腾讯实现了哪些牛逼应用

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! Clickhouse的部署和管理 Clickhouse自身是一个非常强大的数据处理引擎,因为它非常专注数据处理的计算效率这一块,因此它周边的一些管理插件,其实还是比较弱的。 大家在做大数据的平台,以及在做一些平台产品的时候,其

redis 实现单位时间内错误记录 时间到key值就被清除------最近脑子不好使觉得还是写个博客试试

直接在客户端操作的, 所以需要redis的简单命令  去对比JAVA客户端jedis的命令就行   添加---set     格式 set  key  value  EX time(秒)   如果这个time不添加的话 ,那默认就是 永久 获取--get    格式 get key  ---查看剩余时间    格式 TTL key ---实现key实现自增: inrc key

“苹果税”引发的苹果与腾讯、字节跳动之间的纷争与博弈

北京时间9月10日凌晨一点的Apple特别活动日渐临近,苹果这次将会带来iPhone16系列新品手机及其他硬件产品的更新,包括iPad、Apple Watch、AirPods等。从特别活动的宣传图和宣传标语“閃亮時刻”来看,Apple Intelligence将会是史上首次推出,无疑将会是iOS 18的重头戏和高光时刻。 不过就在9月2日,一则“微信可能不支持iPhone16”的