秋招经验分享之算法篇

在这里插入图片描述

日常刷题

准备路线: 代码随想录 + 力扣top100 + 牛客面试必刷top101 + 剑指offer

总结参考:labuladong 的算法笔记

这里不得不安利一下代码随想录,刷题顺序可以看的出是精心安排的,从易到难,很适合新手开始,我的算法总结大都是根据他来的~

我是从研一就断断续续的刷题,权当消遣;真正开始系统准备是在研二,这里建议大家平时一定要总结,我个人刷题比较有用的方式:

一个是思维导图:

图片

主要是按照数组、链表等分为各子模块,然后记录每个子模块的经典题目,总结方法,方便后期复习回顾。我之前的文章也有对应模块的总结和题目解析~

当然,后续我们也可以把一些算法整理为模板,方便做题时快速思考。

一个是表格记录:

图片

这个的好处是更直观的查看自己的刷题情况,而且需要二刷的题目可以加粗标注或者备注,对查缺补漏很有帮助。

笔试题

大多数公司的笔试分为两部分: 非编程题(选择,填空), 编程题 。

所以需要面试者补充基础知识,尽量做好非编程题,比如sql语言,linux 命令,语言基础等

而对于编程题,通常会考察图论、动态规划的知识,可以重点准备。

另外对于笔试编程题的一些tips:

  • 笔试大多是acm模式!也就是需要自己输入输出数据的,所以一定要提前熟悉这种模式,牛客就有acm练习模式

  • 一定注意理解题意!!仔细阅读题目,竟然会有一些思维理解上的偏差,导致简单的题也做不出来;

  • 编程题没有思路也要尽可能通过一些测试样例,尽可能得分;比如返回true 或false 的题目,return true 就可以得到50%的分数了。当然,现实肯定不会这么简单,但也有骗分的空间。

  • 牛客会有一些公司的真题,可以提前刷一下了解风格牛客公司真题

  • 可以用本地IDE的尽量用本地IDE,方便debug

  • 一些测试样例不通过的原因:

    • 变量的类型开的太大或者太小, 经常有那种int 改为long就可以的情况,所以一定要注意数据溢出;
    • 边界条件, 比如空数组, 只有一个元素的数组等,容易被遗漏

技术面手撕代码

面试大概60分钟,通常前40分钟问技术问题,留下20分钟手撕代码:

  • 准备途径:牛客公司真题 + codetop 对应公司题目 + 面经。不要小看面经,很多部门其实是有题库的,所以这种情况下幸运点还可能遇到原题;
  • 一般会考察的题目类型:链表!!反转链表,链表的排序,合并两个升序链表,反转链表指针等等;还有一些二叉树的题目,回溯,动态规划等;整体来说中等,不算难;
  • 平台:大多是自己公司的面试和代码平台,白板写;部分用牛客平台
  • 在拿到题目后,有思路可以先说一下自己的核心思想和做法,以及复杂度,然后再写;
  • 代码思路尽量简洁有效,逻辑易于理解,即使你有一个简洁的写法,但逻辑不符合常人理解,那么也不太好(本人就被说过逻辑奇怪)
  • 实在没有思路的,直接和面试官坦白,说出自己的思考和想到的解决办法,表明问题,问有没有什么提示。不用担心,没有手撕出来并不代表整个面试的失败。
  • 另外除了lc的题,有的面试官还会让你写一下其他的,比如面试中我提到过的生产者消费者模型,让我实现。

个人一些算法题目整理

文章leetcode专栏中

  • 42
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值