6 年大厂程序员跟你聊聊,算法其实没那么难,要怎么准备比较好

news2024/10/5 13:11:00

说起算法,许多程序员都会一顿哀嚎,为啥面试要靠算法这个东西。不过这个不是咱们讨论的重点。(我们无法改变这种现状,那就改变自己)

今天,我们一起来聊一下,程序员面试的时候该如何准备算法。

第一:多做算法题,熟能生巧

算法题没有捷径,一定要多做,熟能生巧。不过,刷算法题目也是有技巧的。

image.png

如果算法基础不好的,很久没有做算法题了。第一次做算法题目,99% 的人看到题目都是懵逼的。完全无从下手。这时候怎么办呢?

不要纠结,直接去看解题思路,尝试去理解他。第一次看不懂没关系,多看几次,至少看懂了 50% 再继续刷下一道算法题目。

去哪里算算法题目呢

刷算法题目的话,网站首选 leetcode,牛客。如果你是大学生的话,可以选择《剑指 offer》这本书,也是比较经典的。

每天刷多少道算法题目合适呢?

个人的建议是每天刷 10 道算法题目。当然,可以根据当时的状态适当调整。状态好的话,就多刷几道。不好的话,就少刷几道。

最重要的事要坚持每天做算法题。想一下,坚持做题 3 个星期,你可以刷将近 200 道题目。剩下的一个星期,再拿来巩固练习。

个人的建议是每三天,回顾前面几天做过的算法题。看到题目的时候,脑海中第一时间就复现思路。

第二:收集自己的错题集

收集自己的错题集,这个太 TM 的重要了。

image.png

学生时代,我们在学习,复习的时候,也会收集自己的错题集。它能够帮助我们快速发现自己的弱项,我们可以针对这个,查漏补缺。

想一下,如果我们能够拿出学生时代的干劲,这小小的算法题,还难得倒我们嘛。

不要怕算法,要从心里藐视它,战胜它,对自己有信心。

第三:按照自己的理解,分类整理高频算法题目

其实,我们面试常见的算法题,大多数都是经常出现的。当然,如果运气不好,碰上一些面试官,搞一些刁专古怪的题目,只能说,你运气不好。

脑, 打开, 训练, 读, 一本书, 学校, 学习, 思考, 反映, 法官

我们可以根据这些高频的算法题目,分类整理

  • 排序
  • 常见算法,递归,DFS
  • 数组
  • 链表
  • 二叉树
  • 动态规划

在每次要面试的时候,分类去做算法题目,你会发现,坐着坐着,你会越来越有剃感。

看到类似的题目,你的脑海里会不自觉地浮现常见的解题思路。

小结

算法,说到底,这个东西说难也不难,重要的事要花时间去熟悉,琢磨它。当我们养成了自己的一套解题体系,复习起来,你会发现事半功倍。

推荐阅读

高考十年了,聊聊挣钱这件事

大厂被裁,我也曾迷茫过

我的 5 年 Android 学习之路,那些年一起踩过的坑

程序员如何写好自己的简历,一位 5 年中大厂老哥跟你聊聊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1035046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字图像基础,数字图像处理中的基础内容(数字图像处理概念 P2)

文章目录 人类视觉系统构造数字图像生成采样和量化像素之间的基本关系 人类视觉系统构造 锥状体:明亮的视野杆状体:微光或暗视野图像成像原理:类似照相机亮度适应现象:人的视觉不能同时在一个范围内工作同时对比现象:…

怒刷LeetCode的第14天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:动态规划 方法二:栈 方法三:双指针 第二题 题目来源 题目内容 解决方法 方法一:二分查找 方法二:线性扫描 方法三:递归 第三题 题目来源 …

【WSL】仅适用于装C盘情况-用WSL在win10安装LInux

研究了一点点伪分布式的内容。决定搞一个Linux系统玩一下 参考来自微软官方安装步骤: 旧版 WSL 的手动安装步骤 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual WSL全称为,Windows Subsystem for Linux 法一:应用商店装 查…

你写过的最蠢的代码是?

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

RestTemplate:简化HTTP请求的强大工具

文章目录 什么是RestTemplateRestTemplate的作用代码示例 RestTemplate与HttpClient 什么是RestTemplate RestTemplate是一个在Java应用程序中发送RESTful HTTP请求的强大工具。本文将介绍RestTemplate的定义、作用以及与HttpClient的对比,以帮助读者更好地理解和使…

资料分析笔记

统计术语 现期:现在的时间 基期:之前的时间 现期量 基期量 增长量(有正负) 增长率 【增幅、增速、r】(有正负) 同比:例:2014年5月 和 2013年5月 环比:例:20…

Vue通过配置代理解决跨域问题

VueCli2.0版本 1.找到config文件目录下的dev.env.js以及prod.env.js文件 dev.env.js是配置本地环境的 prod.env.js是配置正式环境的 分别在这两个文件下的API_URL中写下对应的正式服测试服域名 下面的是正式服的域名 2.配置跨域 //vue2.0 //config -> index.js proxyt…

[C++ 网络协议] 多线程服务器端

具有代表性的并发服务器端实现模型和方法: 多进程服务器:通过创建多个进程提供服务。 多路复用服务器:通过捆绑并统一管理I/O对象提供服务。 多线程服务器:通过生成与客户端等量的线程提供服务。✔ 目录 1. 线程的概念 1.1 为什…

【MySQL】 MySQL索引事务

文章目录 🛫索引🎍索引的概念🌳索引的作用🎄索引的使用场景🍀索引的使用📌查看索引📌创建索引🌲删除索引 🌴索引保存的数据结构🎈B树🎈B树&#x…

【python】Seaborn画热力图,只显示第一行数字---seaborn与matplotlib版本问题

github上有这个讨论:Heatmap only has annotation text in the top row only Issue #3478 mwaskom/seaborn (github.com)翻译过来就是:热图仅在最上面一行有注释文本; 原因就是matplotlib 在2023年9月更新到了 3.8.0版本,改变了…

pyspark常用算子总结

欢迎关注微信公众号,更多优质内容会在微信公众号首发 1. pyspark中时间格式的数据转换为字符串格式的时间,示例代码 from datetime import datetimedate_obj datetime(2023, 7, 2) formatted_date date_obj.strftime("%Y-%m-%d %H:%M:%S")p…

Spring循环依赖大全

本博客挑出出现大部分情况的循环依赖场景进行分析,分析启动会不会报循环依赖的错误! 一、常规的A依赖B,B依赖A,代码如下: Component public class A {Resourceprivate B b; } Component public class B {Resourcepri…

Codeforces Round 898 (Div. 4)

Dashboard - Codeforces Round 898 (Div. 4) - Codeforces F. Money Trees 双指针&#xff08;需要细心&#xff09; #include<bits/stdc.h> using namespace std; const int N 2e5 10; void solve() {int n, k, ans 0, a[N], h[N];cin >> n >> k;for(…

Java基础(五)

前言&#xff1a;本博客主要记录学习网络通信的基本知识以及网络编程的应用。 网络编程 基本的通信架构 CS架构&#xff08;Cilent客户端/Server服务端&#xff09; BS架构&#xff08;Browser浏览器/Server服务端&#xff09; 网络通信三要素 网络通信三要素&#xff1a;…

【02】FISCOBCOS搭建区块链网络

官方文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html 第一步. 安装依赖 开发部署工具 build_chain.sh脚本依赖于openssl, curl&#xff0c;根据您使用的操作系统&#xff0c;使用以下命令安装依赖。 sudo apt install -y openssl …

【深度学习实验】前馈神经网络(九):整合训练、评估、预测过程(Runner)

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. __init__(初始化) 2. train(训练) 3. evaluate(评估) 4. predict(预测) 5. save_model 6. load_model 7. 代码整合 一、实验介绍 二、实验环境 本系列实验使用…

latexocr安装过程中遇到的问题解决办法

环境要求&#xff1a;需要Python版本3.7&#xff0c;并安装相应依赖文件 具体的详细安装步骤可见我上次写的博文&#xff1a;Mathpix替代者|科研人必备公式识别插件|latexocr安装教程 ‘latexocr‘ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件的相关解决办…

获取文件创建时间

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Java源码 public void testGetFileTime() {try {String string "E://test.txt";File file new File(string);Path path file.toPath();BasicFileAttributes ba…

Python 运行代码

一、Python运行代码 可以使用三种方式运行Python&#xff0c;如下&#xff1a; 1、交互式 通过命令行窗口进入 Python 并开始在交互式解释器中开始编写 Python 代码 2、命令行脚本 可以把代码放到文件中&#xff0c;通过python 文件名.py命令执行代码&#xff0c;如下&#xff…

Grafana离线安装部署以及插件安装

Grafana是一个可视化面板&#xff08;Dashboard&#xff09;&#xff0c;有着非常漂亮的图表和布局展示&#xff0c;功能齐全的度量仪表盘和图形编辑器&#xff0c;支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性&#xff1a;灵活丰富的图形…