如何准备国内一流互联网公司面试,如百度、阿里、腾讯、字节等

2023-05-16

入职新公司快半年了,今天,我就想和大家聊聊,关于找工作、面试的一些心得与体会。说实话,在这次找工作之前,我面试找工作的经历并不丰富,反而是当面试官的次数更多。所以呢,这次换工作,我把国内一二线公司都面了一遍,也算是弥补了自己这方面经验的不足吧。

「国内公司」比如百度、阿里、腾讯、字节,它们都是一流的互联网公司.

如果你最近也想面试:以上国内这些大厂,相信这篇文章可以给你一定的帮助。
在这里插入图片描述
我们聊聊国内公司。

国内公司

国内公司,包含传统互联网企业,还有一些国企、央企。

面试流程

从我的面试经验来说,国内公司大致的流程是这样的。

  • HR 沟通:顺带约下一轮的时间;
  • 笔试:对于社招而言,互联网公司笔试比较少,但国企、央企还比较常见。
  • 一轮技术面试:这一轮的面试官,一般都是团队内比较资深的工程师,技术细节的问题偏多,最后,一般还会预留20分钟左右的时间,出一道算法题, 大概是 LeetCode Medium 级别。
  • 二轮技术面试:这一轮的面试官,一般是团队直属 Leader。具体的内容可能因人而异,有些面试官,喜欢在一个问题上持续深挖,试探你的「技术深度」;有些面试官,喜欢跟你聊行业动向,考察你的「知识广度」。当然,大部分情况来说,两者都会考察。
  • 三轮技术面试(终面):这一轮的面试官,一般是 Leader 的 Leader。从我的经验上来看,这一轮主要是考察候选人的「潜力」。那么,如何判断候选人的潜力大不大呢?答案就是:「基础」、「品性」。这一轮面试聊的内容,可能时而比较抽象,时而比较底层。
  • HR 面试:到了这一步,你的技术能力就已经得到认可了。剩下的,就是其他方面能力的考察了。通常来说,只要你没有诚信之类的问题,HR 是不会轻易拒你的。

那么,面试国内的大厂,我做了哪些准备呢?

面试准备

每个技术领域的知识,其实都是模块化的,我把它们分为以下几个部分:

算法数据结构:由于平时工作中用的并不多,所以,有必要在面试之前重新补一补算法和数据结构。

具体,我的做法是这样的:

  • 数据结构:关闭 IDE 的语法提示,用主力语言(我用的 Kotlin)实现一遍常见的数据结构:Array、List、Stack、Queue、Map 等等;
  • 算法:同样的,再把常见的算法自己手写一遍:常见的7种排序算法、3种字符串搜索算法、双指针、多指针、回溯,等等。
  • 刷题:对于国内公司的面试准备,掌握 LeetCode 上 Top 200 的高频题就已经可以轻松应对了。注意,这里我说的是“掌握”,单纯只是刷一遍是不太可能达到这种境界的。我喜欢用不同的思路,不同的编程思想,从不同的角度,去剖析同一道算法题。

除了数据结构与算法之外,还需要注意:计算机基础。

是的,你没看错,社招同样需要花时间补一补计算机的基础知识。比如:计算机网络、操作系统、加密算法等等。对于大部分工程师而言,Http、Https、Linux 系统、编解码,都还是需要有一些基本认识的。

最后,也是最重要的:专业知识

比如,我是 Android 工程师,面试之前,我会花很长时间补专业知识,从基础的到高阶的。目前市面上对高级 Android 工程师的要求其实不低。

  • 基础知识:最基本的,四大组件、生命周期、启动模式、事件分发、自定义View,这些都要烂熟于心。
  • 性能优化:Android 性能优化,这个方向的水其实很深。但对于普通的 Android 工程师而言,掌握一些基础的排查工具,以及基本的性能优化套路,还是很有必要的。如果是大厂专门做性能优化方向的工程师,往往需要深入 Dalvik、ART 虚拟机去做优化。
  • Framework:这部分,也许很多人会把它当作八股文来看待,比如: App 启动流程、Binder 机制,等等。我自己在准备的过程中,并不会强迫自己记住 Framework 层的具体细节,更多的,是去理解它背后的设计思想。工作中遇到问题的时候,去网上查源码,具体情况具体分析即可。
  • 工程架构:在准备这个部分的时候,我主要是去读了一下主流的开源项目,并尝试自己手写实现出它们的 Kotlin 版本。在这个过程中,我不仅对项目本身有了更深的理解,对 Java 和 Kotlin 也有了更深的认识。
  • 新技术:每个技术领域,一定是持续发展的。比如说,Android 领域,就有:Kotlin、协程、KMM、Compose 等等。不过,有趣的是,几乎没有面试官问我这方面的知识,我猜他们都很相信我吧。

结尾

这次面试准备,前前后后我花费了将近4个月,也总结、收集了一些文档资料,主要涵盖以下几个方面:

架构师基础、性能优化、插件化、Framework、Kotlin、协程、Compose等等;

一、架构师筑基必备技能

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

在这里插入图片描述

二、Android百大框架源码解析

1.Retrofit 2.0源码解析
2.Okhttp3源码解析
3.ButterKnife源码解析
4.MPAndroidChart 源码解析
5.Glide源码解析
6.Leakcanary 源码解析
7.Universal-lmage-Loader源码解析
8.EventBus 3.0源码解析
9.zxing源码分析
10.Picasso源码解析
11.LottieAndroid使用详解及源码解析
12.Fresco 源码分析——图片加载流程

在这里插入图片描述

三、Android性能优化实战解析

  • 腾讯Bugly:对字符串匹配算法的一点理解
  • 爱奇艺:安卓APP崩溃捕获方案——xCrash
  • 字节跳动:深入理解Gradle框架之一:Plugin, Extension, buildSrc
  • 百度APP技术:Android H5首屏优化实践
  • 支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」
  • 携程:从智行 Android 项目看组件化架构实践
  • 网易新闻构建优化:如何让你的构建速度“势如闪电”?

在这里插入图片描述

四、高级kotlin强化实战

1、Kotlin入门教程
2、Kotlin 实战避坑指南
3、项目实战《Kotlin Jetpack 实战》

  • 从一个膜拜大神的 Demo 开始

  • Kotlin 写 Gradle 脚本是一种什么体验?

  • Kotlin 编程的三重境界

  • Kotlin 高阶函数

  • Kotlin 泛型

  • Kotlin 扩展

  • Kotlin 委托

  • 协程“不为人知”的调试技巧

  • 图解协程:suspend

在这里插入图片描述

五、Android高级UI开源框架进阶解密

1.SmartRefreshLayout的使用
2.Android之PullToRefresh控件源码解析
3.Android-PullToRefresh下拉刷新库基本用法
4.LoadSir-高效易用的加载反馈页管理框架
5.Android通用LoadingView加载框架详解
6.MPAndroidChart实现LineChart(折线图)
7.hellocharts-android使用指南
8.SmartTable使用指南
9.开源项目android-uitableview介绍
10.ExcelPanel 使用指南
11.Android开源项目SlidingMenu深切解析
12.MaterialDrawer使用指南
在这里插入图片描述

六、NDK模块开发

1、NDK 模块开发
2、JNI 模块
3、Native 开发工具
4、Linux 编程
5、底层图片处理
6、音视频开发
7、机器学习

在这里插入图片描述

七、Flutter技术进阶

1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter开发环境搭建和调试
5、Dart语法篇之基础语法(一)
6、Dart语法篇之集合的使用与源码解析(二)
7、Dart语法篇之集合操作符函数与源码分析(三)

在这里插入图片描述

八、微信小程序开发

1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战……

在这里插入图片描述

全套视频资料:

一、面试合集
在这里插入图片描述
二、源码解析合集

在这里插入图片描述
三、开源框架合集

在这里插入图片描述
欢迎大家一键三连支持,若需要文中资料,直接点击文末CSDN官方认证微信卡片免费领取【保证100%免费】↓↓↓

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何准备国内一流互联网公司面试,如百度、阿里、腾讯、字节等 的相关文章

  • STM32 IO口模拟串口

    红叶何时落水 什么是串口呢 xff1f 简单来说它是一种通信协议 xff1b 串口是一个泛称 xff0c UART TTL RS232 RS485都遵循类似的通信时序协议 xff0c 因此都被通称为串口 而对于单片机来说 xff0c 串口通
  • python学习:最适合初学者的8本Python书籍

    Python是最友好的编程语言之一 xff0c 也因此成为初学者的首选 xff0c 为了帮助你更好更快的上手Python xff0c 并学会使用Python进行编程 xff0c 本文我们为初学者分享了最好的Python书籍 希望能够对你有所
  • 最适合Python入门到大牛必看的7本书籍,一定要收藏!

    Python零基础应该阅读哪些书籍 xff1f 我推荐这三本书 1 Python学习手册 xff08 第4版 xff09 以计算机科学家一样的思维方式来理解Python语言编程 xff0c 实用的学习指南 xff0c 适合没有Python编
  • 电脑可以上网,但是仍然显示无网络连接

    不知道是否因为win11的正式发布 xff0c 催促着win10的更新 xff0c 而在更新中对于部分用户的电脑产生了bug xff1a 目前被证实为win10 1607版本后 xff0c URL变动引起的 在我们使用WLAN连接方式时 x
  • 阿里云云平台,物联网可视化web界面简单教程

    目前市面上的云平台 xff0c 多以华为 xff0c 阿里 xff0c 中国移动为主 但是了解一个 xff0c 便可满足需求了 1 首先 xff0c 我们要创建一个属于自己的账号 xff0c 然后尽可能的领取各种限免套餐 2 打开产品这一栏
  • LCD屏幕 ~ 字模提取工具和图片转码工具

    目录 字模提取 工具资源下载 xff1a 图片转码 工具资源下载 xff1a 字模提取 工具资源下载 xff1a 链接 xff1a https pan baidu com s 1BF8lJLmM V vWrl2F6Cd7Q pwd 61 m
  • (练习篇)萤火虫esp32与小爱音响---实现笔记本电脑唤醒

    目录 初步工作 xff1a 进入正题 xff1a 初步工作 xff1a xff08 已使用过ESP32的同志们 xff0c 可以忽略这一步 xff09 首先下载arduinoIDE Software Arduino 我安装的是1 8 18直
  • Python:列表有趣挑战--斗地主扑克牌发牌

    目录 游戏描述 xff1a 题目分析与关键点 xff1a 代码参考 xff1a 游戏描述 xff1a 本题限定用以下方法打乱序列中的元素 random shuffle 几个人用一副扑克牌玩游戏 xff0c 游戏过程通常有洗牌 发牌 理牌等动
  • Python: 常用指令归纳(持续更新中)

    目录 复合赋值运算符 位运算符的运算规则 常用的转义符 常用字符串格式转换控制符 字符串处理函数 序列类型的常用操作符 复合赋值运算符 复合赋值运算符 运 算 符功 能 描 述 示 例 x 61 5 xff0c y 61 3 43 61 加
  • 无线远距离WiFi模块图传技术,无人机智能安防预警应用

    随着社会经济的快速发展 xff0c 交通工具日渐增多 xff0c 人员 车辆流动性大 xff0c 警车 警员在执法过程中对移动目标 突发场合的信息收集与现场预警 xff0c 当场发现嫌疑目标并进行抓捕已成为公安警务工作的紧迫需求 从警务执法
  • yolov5输出检测框的中心位置,框的长宽,框的位置,以及输出对应标签格式的输出

    yolov5输出检测框的中心位置 xff0c 框的长宽 xff0c 框的位置 xff0c 以及输出对应标签格式的输出 模型读取每个图片 xff0c 并将上述的信息依此输出到同名的txt文件中保存 xff0c 具体需要哪些坐标可以自己选 更改
  • 无人机远距离WiFi图传应用,CV5200无线WiFi模组,远程实时通信传输方案

    无线图传在实际应用中越来越受到追捧 xff0c 无线图传免布线 移动方便 安装简单 xff0c 大大节约了材料和人工成本 无线图传能够在远距离范围内实时视频无线传输 xff0c 满足了不同距离需要的需求 xff0c 也覆盖了不同规模的企业
  • antd表单赋值,回显表格数据

    使用 antd 做表格回显数据时 xff0c 会看到文档有写 xff1a 所以我们可以 1 定义hooks const form 61 Form useForm 2 在触发事件中使用 xff0c 以打开模态框赋值为例 const showM
  • jetson nano jacksdk4.6中cuda,cudnn,tensorrt的版本查看

    JetPack 4 6上已经预装了CUDA cuDNN and TensorRT VPI 1 1 可以直接从官网下载 xff08 jetson sdk xff09 使用拷贝到SD卡 JetPack 4 6 is the latest pro
  • 无人船毕设进展

    智能无人测量船设计进展 xff08 硬件系统 xff09 目录前言课题目的研究现状控制系统 xff08 Pixhawk xff09 动力系统供电系统通讯系统传感器系统pixhawk2 4 8接口分析控制系统详细分析技术路线参考文献 目录 前
  • OpenMV:20追踪其他物体的云台

    文章目录 追踪人脸的云台追踪AprilTags的云台追踪圆形的云台 和追踪小车的原理是一样的 首先获得目标物体的x y坐标 xff0c 然后通过目标物体的xy坐标来控制我们云台的两个舵机的pid运动 无论追踪什么物体 xff0c 都是通过物
  • 如何在Linux终端使用录屏工具Asciinema?

    安装asciinema apt get install asciinema 开始记录视频 asciinema rec first cast 以倍速重播 asciinema play s 2 first cast 分享或上传至网络 ascii
  • 初探进程和线程

    初探进程和线程 之前学习过RTOS xff0c 对线程有一些认识和理解 xff0c 但接触到Linux后还遇到了进程这个概念 xff0c 虽然两者之间名字很相像 xff0c 但其实是完全不同的两个概念 进程包含一个内存地址和执行的线程 xf
  • CENTOS7设置静态IP

    Centos7网卡配置配置永久ip xff1a 1 网卡目录 xff1a etc sysconfig network scripts ifcfg ens33 2 网卡重启命令 xff1a sudo ip addr flush dev ens
  • lsof命令

    一 lsof命令 lsof命令用于查看你进程开打的文件 xff0c 打开文件的进程 xff0c 进程打开的端口 TCP UDP 找回 恢复删除的文件 是十分方便的系统监视工具 xff0c 因为lsof命令需要访问核心内存和各种文件 xff0

随机推荐