zoukankan      html  css  js  c++  java
  • 百度面试两板斧:手写算法问基础

    阅读本文大概需要 4 分钟。

    作者:黄小斜

    17年7月份,我参加了百度的实习生面试,随后在百度开始了半年的实习生活,18年7月份,我参加了百度的校招提前批面试,由于可以同时参加百度多个部门的提前批面试,结果我前前后后面试了10多次,也算是一段比较奇葩的经历了。

    当然,实习生面试是这里面最简单的一次了,三轮面试,前两轮都是在问基础,问的也不深入,第三轮面试则直接谈人生谈理想。其实百度的日常实习生面试难度确实比校招要来的容易,因为百度一年四季都在招实习生,反观阿里和腾讯,只有在春招期间招收实习生。

    既然上面的面试难度不太具有代表性,那么我还是来说说秋招的百度面试经历吧。

    大家都知道,阿里内部用Java居多,腾讯内部用C++居多,而百度内部的语言则是五花八门,Java、C++、Python、PHP,都有一定数量的人在用,所以百度的面试题也会比较杂,什么都有可能考,但亦不会考的特别难。

    手写算法是百度秋招必考的一个环节,我那时候都是电话面试,所以直接是用在线写代码的网站来做题的(面试官可以实时看到你的代码情况)手写算法一般是压轴环节,也就是面试官问完基础题,就会开始让你写算法题。

    题目的难度也不尽相同,有的面试官让我写过二叉树相关的简单题,也有面试官让我写DFS、BFS的题目,当然,多数题目还是剑指offer上的题目,以及基础题:字符串问题、快排、二分查找、二分查找变式等。

    值得一提的是,面试官会允许你在本地IDE进行调试,这样一来可以节省你的时间。

    在开始写代码前,面试官一般会先问你的思路,假如他没有问,那你也要主动告诉他,要知道,考察算法题的时候,和面试官的有效沟通也是一个很重要的考察点,否则你可能会漏掉关键信息,以至于无法完成后续答题。

    当然,打铁还需自身硬,最关键的一点是,你需要花大量时间刷题,积累经验,保持做题手感,剑指offer上的题目基本要掌握,LeetCode的经典题型必须重视,刷题是一件你需要不断坚持的事情,就和考研前需要不断做数学题一样,都是一个道理。

    讲了这么多关于手写算法方面的内容,可能你已经萌生退意了,那我们还是把话题移回到简单粗暴的基础问题吧,计算机网络、操作系统、数据结构这三门课程,百度一样喜欢考,不过难度适中,一般只会考比较基础的问题,比如TCP/IP三次握手、四次挥手,线程和进程的区别,内存管理方式等等。

    最后要说的是,百度最喜欢考察的一类题目,叫做海量数据问题,虽然现在越来越多公司都喜欢考这个,但是百度可以说是这类题目的创始人。

    所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。

    关于百度面试的内容,我就总结这么多了,当然,大部分是针对校招同学的面试题,至于社招的朋友,则更多地会和部门需求匹配,考察的重点也不再是上述这些基础知识和算法题了。

    如果仍有疑问,也可以留言参与互动噢。

    微信公众号

    个人公众号:程序员黄小斜


    黄小斜是 985 硕士,阿里巴巴Java工程师,在自学编程、技术求职、Java学习等方面有丰富经验和独到见解,希望帮助到更多想要从事互联网行业的程序员们。

    作者专注于 JAVA 后端技术栈,热衷于分享程序员干货、学习经验、求职心得,以及自学编程和Java技术栈的相关干货。

    黄小斜是一个斜杠青年,坚持学习和写作,相信终身学习的力量,希望和更多的程序员交朋友,一起进步和成长!

    原创电子书:
    关注微信公众号【程序员黄小斜】后回复【原创电子书】即可领取我原创的电子书《菜鸟程序员修炼手册:从技术小白到阿里巴巴Java工程师》这份电子书总结了我2年的Java学习之路,包括学习方法、技术总结、求职经验和面试技巧等内容,已经帮助很多的程序员拿到了心仪的offer!

    技术公众号:程序员江湖

    英雄不问出处,编程不看出身。这里是自学编程爱好者的聚集地,也是程序员IT学习资源的藏经阁。点击关注,一起成为更优秀的程序员!

    程序员3T技术学习资源: 一些程序员学习技术的资源大礼包,关注公众号【程序员江湖】后,后台回复关键字 “资料” 即可免费无套路获取,包括Java、python、C++、大数据、机器学习、前端、移动端等方向的技术资料。

    关注公众号【程序员江湖】后回复「Java」、「Python」、「C++」、「大数据」、「算法」、「AI」、「Android」、「前端」、「iOS」、「BAT」、「校招」、「笔试」、「面试」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费程序员学习资料。

  • 相关阅读:
    Ubuntu 安装 NTP 服务
    Packer 如何将 JSON 的配置升级为 HCL2
    WinRM 如何设置 TrustedHosts
    Windows 10 如何设置网络属性为私有
    Windows 使用 PowerShell 来管理另外一台 Windows 机器
    Windows PowerShell ISE 是什么和 PowerShell 有什么区别
    Spring事务传播属性和隔离级别
    @SpringBootApplication(exclude={DataSourceAutoConfiguration.class})注解作用
    杂文 | 如何在演讲中讲个好故事
    2.2 思考框架:什么样的代码才是高效的代码
  • 原文地址:https://www.cnblogs.com/AntCoder/p/11815433.html
Copyright © 2011-2022 走看看