我宣布,腾讯才是互联网宇宙的终点....

12 篇文章 0 订阅
12 篇文章 0 订阅
这篇博客分享了一位应聘者成功获得腾讯 Offer 的全过程,详细记录了面试经历,包括三轮面试的详细问题,涉及内容涵盖 Android 开发、操作系统、计算机网络、数据结构与算法等多个方面。博主强调了心态、基础知识和算法的重要性,并提供了面试准备的建议和学习资源。此外,还分享了面试后的反思和学习资料,适合求职者参考和学习。
摘要由CSDN通过智能技术生成

我宣布,腾讯才是宇宙的终点…
继阳关普照、应届生房补后,在一重拳福利…
不说了,我跪久了,站不起来了…
这条命,以后就是我司的了。
请添加图片描述
自面试上之后再一次嗨起来

我先分享一波我的面试经历吧

六月份就收到腾讯的面试通知一共经历了三面,可谓是困难重重~

腾讯六月份面试

一面 42min 电话面试

  • 项目经历,开发中遇到什么问题,最后怎么解决的
  • TCP三次握手,拥塞控制
  • 一面更多的是聊项目,面试官没有问太多基础的知识,面试官主要是在我介绍自己项目的时候切入问问题,整个过程氛围很开心。

二面 45min 视频面试 3.21

  • 安卓的设计模式有没有了解,工厂模式之类的
  • IPC,多线程
  • hashmap相关
    1.扩容因子
    2.hashmap与hashtable区别
    3.hashmap重写了equals方法但是不重写hashcode方***怎么样
    4.haspmap查找的时间复杂度,可不可以优化
    5.我说把链表改成双向链表,还可以改成avl树,b树,b+树,减少查找的时间复杂度。
  • 计网三次握手,四次挥手
  • 两道算法
    1.一个简单博弈问题,两个人分别选择最大的数直到选完,求最后两个手上数的和之差,实际上是排序就行了,重点在排序算法的选择,可以直接用C++的sort函数,我自己手写了归并排序来用。
    2.提供一种大小为N的CD,还告诉你有两种大小A,B的歌,每种歌的数量也告诉你为x,y,往CD里放歌,尽量利用CD的空间能放多少放多少,每首歌不可拆分放,可用的CD总数不限,求有多少种排列方式。最后理了思路,就是用递归就行了。
  • 项目相关,开发中遇到的问题及解决办法
  • 问面试官问题,问的是面试官您认为哪些能力是更重要的,面试官说是基础更重要——数据结构,计网,算法。

三面 2h10min 视频面试

  • 操作系统相关知识
    1.栈内存,堆内存
    2.进程,线程
    3.竞争
  • 计网
    1.TCP三次握手
    2.TCP拥塞控制
    3.浏览器访问网址,具体发生了什么
    4.DNS协议怎么工作的
  • 安卓相关知识
    1.activity生命周期
    2.为什么要有任务栈,任务栈有什么作用
    3.viewholder的作用
    4.view绘制过程
    5.view,window和activity之间的区别
    6.OOM什么情况会发生,怎么解决
  • 两道算法题
    1.a[100]中逐个填1~100的随机数,且不能重复
    2.大数相乘
  • 项目经历,开发中遇到的问题及解决办法
  • 谈谈你的优点
  • 你之前腾讯面试失败,是为什么,那两道题为什么没做出来
    1.那道题是输入一个字符串,从中删除n个字符,剩下的字符构成回文串,求n的最小值,确实难;另一题是无权图中两点最短路径,思路很简单就是BFS
  • 最后问问题环节
    1.第一个问题问的依旧是,面试官您认为哪方面的能力或者是能力更重要,面试官说基础,操作系统,计网,数据结构算法这些。
    2.最后问了面试官才知道,是QQ部门的,嘿嘿…

最后顺利入职啦~

想要想我一样收获腾讯Offer其实也不难,不管你是不是应届生,能力提升总是没错。下面就和大家分享一些准备面试的技巧

第一点:心态

首先一个,心态要好,要相信自己,稳住不要慌。

第二点:基础知识

初级所需要的知识

掌握Android 四大组件知识,深入了解相关生命周期,对于Application、Fragment、Intent常见的开发知识也必须掌握。
掌握Android 基本布局和控件的属性和使用,常用布局有LinearLayout、RelativeLayout、ConstraintLayout等,控件有TextView、ImageView、RecyclerView、ScrollView等。
对Android的资源访问使用有基本了解,了解Android针对不同国家、语言、屏幕、API的适配原理。
掌握android系统服务和工具类的使用,对网络访问和数据库操作有基本认知。
熟练掌握研发工具,如IDE、模拟器、网络代理、日志等。

中级所需要的知识

熟悉SOLID基础设计原则,掌握23种设计模式。
对于研发语言特性java/kotlin有深入理解,如反射、动态代理、apt等。
对Android架构有基础了解,对apk结构和打包原理有深入了解。
对于Android各个版本特性有基本了解,如MD设计、权限管理、doze模式等。
熟练掌握各种研发调试工具,如git、gradle、mat、layout inspector等。
掌握Handler\AsyncTask原理,熟悉多线程开发。
对绘页面制原理有初步理解,能够实现一个复杂自定义控件。
能够熟练掌握开源库的使用,如图片库(Glide\Fresco)、网络库(Volley\okhttp\Retrofit)、工具(Dagger\RxJava\EventBus)等,能够对这些常用的库进行二次封装。
熟悉应用常见的优化方法,避免编写内存泄漏的代码。

高级所需要的知识

掌握java高级特性,如JUC、线程池、NIO\BIO等;掌握jvm虚拟机知识,如内存模型、GC原理、类加载机制、线程模型等。
对Android运行环境有深入理解,理解Android沙盒机制,掌握AIDL原理及Binder通信原理,了解app和activity启动原理。
掌握热修复原理,各大厂商方案的优缺点。
对于Android事件分发有深入理解,重点掌握触摸事件机制。
深入理解Android绘制原理,理解VSYNC和surface机制和窗口原理。
深入理解Android动画原理,包括补间动画和属性动画。
对于Android安全机制有基本认知,理解Android安全原理。
深入理解端上设计范式思想,如mvc\mvp\mvvm\clean-arch等。
理解架构演进,有良好的分层和拆分思路,掌握模块化、插件化、动态部署等。
对新技术敏感,理解掌握下一代架构dynamic feature等

这里把腾讯等大厂经常问的那些题目进行了综合性的搜集整理(含答案解析)。

整理目录

整理内容(部分截图)

第一章Android 相关

第二章 性能优化
在这里插入图片描述
第三章 Java 相关

第四章 Kotlin 相关

第五章 网络相关

第六章 插件化&热修复&模块化&组件化&增量更新&Gradle

第七章.图片相关

第八章 Flutter 相关

大家可以扫码找我免费获取,希望这份资料对大家的学习和工作有所帮助。帮助大家进行知识的查漏补缺。
↓↓↓↓↓
在这里插入图片描述

第三点:算法

但凡互联网大厂算法都必不可少。

作为一个过来人提醒大家:想要从事计算机技术岗位,在大学本科阶段一定要早早的刷题,打好扎实的算法与数据结构基础

时间充足的朋友建议在刷题之前看一些书

《漫画算法之旅》

《剑指 offer》

《labuladong的算法小抄》

《算法导论》

《数据结构与算法之美》

《算法面试通关40讲》

下面就是我自己根据上面书籍整理的部分知识。

算法笔记

在这里插入图片描述

第一章、动态规划系列

  • 动态规划解题套路框架
  • 动态规划答疑篇
  • 动态规划设计:最⻓递增⼦序列
  • 经典动态规划:0-1 背包问题
  • 经典动态规划:完全背包问题
  • 经典动态规划:⼦集背包问题
  • 经典动态规划:编辑距离
  • 经典动态规划:⾼楼扔鸡蛋
  • 经典动态规划:⾼楼扔鸡蛋(进阶)
  • 经典动态规划:最⻓公共⼦序列

  • 贪⼼算法之区间调度问题
  • 团灭 LeetCode 股票买卖问题
  • 团灭 LeetCode 打家劫舍问题

第二章、数据结构系列

  • 算法学习之路
  • 学习数据结构和算法读什么书
  • ⼆叉堆详解实现优先级队列
  • LRU算法详解
  • ⼆叉搜索树操作集锦
  • 如何计算完全⼆叉树的节点数
  • 特殊数据结构:单调栈
  • 特殊数据结构:单调队列
  • 设计Twitter
  • 递归反转链表的⼀部分
  • 队列实现栈|栈实现队列

第三章、算法思维系列

  • 学习算法和刷题的思路指南
  • 回溯算法解题套路框架
  • 回溯算法团灭⼦集、排列、组合问题
  • 回溯算法最佳实践:解数独
  • 回溯算法最佳实践:括号⽣成 ⼆分查找详解
  • 双指针技巧总结
  • 滑动窗⼝技巧

  • 信封嵌套问题
  • ⼏个反直觉的概率问题
  • 洗牌算法
  • 递归详解

第四章、高频面试系列

  • 如何实现LRU算法
  • 如何⾼效寻找素数
  • 如何⾼效进⾏模幂运算
  • 如何计算编辑距离
  • 如何运⽤⼆分查找算法
  • 如何⾼效解决接⾬⽔问题
  • 如何去除有序数组的重复元素
  • 如何寻找最⻓回⽂⼦串
  • 如何运⽤贪⼼思想玩跳跃游戏
  • 如何k个⼀组反转链表

  • Union-Find算法应⽤
  • ⼀⾏代码就能解决的算法题
  • ⼆分查找⾼效判定⼦序列

第五章、计算机技术

  • Linux的进程、线程、⽂件描述符是什么
  • 关于 Linux shell 你必须知道的
  • Linux shell 的实⽤⼩技巧
  • ⼀⽂看懂 session 和 cookie
  • 加密算法的前⾝今世
  • Git/SQL/正则表达式的在线练习平台

总结

这份资料最具价值的就是实战项目部分。

理论部分教科书上已经足够了,但是实战的分析是很难找到的。阅读这份资料,就是在和大佬对话,相信你的收获一定不少。

PS:除了学习,这份资料还可以当做一个面试宝典来用,里面有很多大项目的组件化分析,相信你看过后再次面对面试官的时候一定能侃侃而谈。

最后在这里希望大家工作顺利,没有BUG,不加班,没有工作的朋友,面试顺利,offer不断。

有需要的朋友可以直接扫【下方的二维码】找我免费获取全套资料。
↓↓↓↓↓
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值