| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Android开发收到两家大厂的Offer是怎样的感受?这篇总结来解密 -> 正文阅读 |
|
[数据结构与算法]Android开发收到两家大厂的Offer是怎样的感受?这篇总结来解密 |
前言前段时间专门挑了一段时间在准备面试。经过两次面试后,有一些比较深刻的认识。对于大厂来说,除了对专业知识考究之外,对算法也尤为看重。 简单的说一下情况,字节已经拿到offer,腾讯所有的面试已经通过了,也应该有offer了。字节一共4面:3面技术,1面hr;腾讯5次技术面,1次hr面。其中5面是2个面试官上阵。 总的来说腾讯的面试确实强度更高更加持久。字节是分开一次1个小时面试的。而腾讯1、2面是一次一小时,而3面和4面是连续面试一口气高强度的面试2小时,5面则是2个面试官轮流提问。腾讯是持久战稍微脑子不清醒一点就可能出现大错漏。我在4面就是如此,差点出事了。请准备好糖分和水分及时补充,或者洗把脸保持清晰。 正文面试的过程一般只有1个小时,如何在一个小时内彻底的考究你本人的水平究竟到达那种境界,也是面试官努力的方向。 而面试往往是由两部分构成:
关于算法为什么把算法摆在第一点,因为算法在我看来这是大部分没有面试过大厂的朋友可能会忽视的一方面。它的重要程度不比专业知识的考究来的低。 在1-2小时内,如何能快速的看到你编码水平和思维就看这些算法的考究。 因此需要对常见的数据结构比较熟悉,如链表,树,栈,堆。需要知道遇到数组相关的题型可能需要用到如快慢指针等解题思路。还有广度深度优先算法。最后,如果还有更难一点的,会涉及到回溯,动态规划等解题思路。 前面几点都比较好处理,只要在leetcode上做到一定量的题目,都能反应过来。经过了系统性的训练,遇到一些常见的算法解题思路可以快速的反应过来。 而动态规划相关的问题,我看来是最难的。关键是需要判断题目是否可以分解成小问题且小问题之间不能互相影响,接着找到动态规划方程,或者是状态转移表。 在听到面试官的算法题后,先不要急着下笔。最好在下笔之前和面试官聊聊你的思路。不同面试官的要求不同,有的面试官,希望算法是原地算法,有的面试官希望时间复杂度降低,有的希望空间复杂度降低。 最好能清晰的表达你的初步思路后,面试官会知道你的算法的方向是否正确,可以一定程度上给予你方向上的指引。 记住就算你做过原题,除非你的方案能保证是从空间和时间复杂度是最优,不然我还是建议面试者多和面试官交流。在交流的过程中,面试官也能明白你的思考过程,从而判断你这个人的编程能力如何。 最后,再给两点建议:
关于专业知识网上很多人都在求大厂面试的真题,实际上我看来意义并不大。因为面试官并不会面试你写在简历之外的随意一个问题。一般都是问你简历上的工作成果,以及背后延伸出来的知识点。更多的还是需要自己日常的积累。 当然也有一些老生常谈的基本考点,如Handler,多线程等。 因此,背面试题不是最重要。关键是回顾你的简历上的工作成果以及简历上的知识点,并不断的深挖。 下面是面试情况,以及一些简答。实际上在回答的过程中,可以回答的更加详细,本文只是筛选了部分问题简单介绍了知识点的要点。 字节面试字节面试一共4面。字节的面试风格偏向基础的内容,以及简历上知识点的扩展。 字节1面
字节2面
方向:栈的考究。 字节3面 Leader面
方向:可以使用/proc/pid/stat读取cpu的idle,iowait等。使用mmap优化后的结果。
腾讯面试腾讯的面试风格,普遍是基于你的简历上项目经历,往细节往深处问。我是面试因算法失败了一次,后面第二次就成功了。 总结一下2次腾讯面试 腾讯第一次面试1面
腾讯第一次面试2面
因为自己画蛇添足,把每一个节点拷贝了一次,还没有往后迭代,实在是错漏百出就挂了。脑袋还是不够清醒,结果饮恨而归。 腾讯第二次面试1面
腾讯第二次面试2面
腾讯第二次面试3面和4面腾讯3面和4面是联系到一起的,这里一起说了
腾讯二次面试5面本次面试是两个面试官进行考察,考察的东西偏向网络协议。
总结 从专业技能考察可以看到,实际上整个面试过程。腾讯面试的会相对仔细一点,技术广度更加广一点;而字节则更加偏向基础是否扎实。都是从你的简历项目,技术点开始询问,并根据你回答的问题,不断的调整询问的方向,不断的向下挖你的知识点,看能达到什么程度 但是无论如何,你回答的层面最好足够深,从源码层级说起来。有时候面试官的对问题的看法和你的看法有分歧,此时就需要你是否可以从源码的层面上对这些问题有自己的解释。 面试的时候只需要沉着冷静的思考,从源码的角度对面试官抛出来问题进行分析,就能比较轻松的解决。 最后有人好奇我去了哪里。应该是去腾讯。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:19:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |