算法面试,是要考考你的基本盘

写在前面:
博主是一个永远相信正义不会迟到的退伍军人,退伍后参加工作至今历经实战,总结出自己的一套最佳实践来与大家做一个分享,愿将昔日所获与大家交流一二。
技术路线从一开始的java,到全栈开发,到DevOps开发运维(目前是DevOps北京社区的一名志愿者),到技术经理管理岗。一路成长至今,感恩生命中遇到的一些“贵人”。

夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远。
夫学须静也,才须学也,非学无以广才,非志无以成学。淫慢则不能励精,险躁则不能冶性。
年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及。
——诸葛亮《诫子书》

于文章中出现的任何错误请大家批评指出,一定及时修改
有任何想要讨论和学习的问题可联系我:yangmq@aliyun.com


算法面试,是要考考你的基本盘

对于IT技术人员来说,关于面试,算法面试只是一个方面,算法面试优秀并不意味着技术面试优秀,技术面试优秀也并不意味着能够拿到一个offer。
一个完整的面试,算法面试只能说是对于面试候选人在“雷达图”中其中的一个指标项,那么我们怎么才能够从容的去面对面试呢?
在这里插入图片描述

今天就先从算法面试开始聊一聊!

要自信

我们在面试中遇到的一些问题,通常并不是非常复杂的面试题目,大家首先一点就是要保证充分的自信!
因为算法面试并不是“考试”,而是考察候选人算法素质的一种手段,不需要候选人百分百的去解决一个算法问题,而是要有自己的思考过程在里面。

“对”与“错”都是相对的

在我看来,对于算法面试,从来都没有一个标准的答案。面试官也不希望自己提出一个问题,然后面试候选人就回答一个“标准”答案。
比如:

面试官:给你一组数据,怎么进行升序排序?
候选人:收到,我会采用冒泡排序算法进行排序。
1.对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换其位置,进行一轮比较和换位后,n个记录中最大记录将位于第n位
2.然后对前(n-1)个几轮进行第二次比较;
3.重复该过程指导进行比较的记录剩下一个为止。

可能这时候,候选人心里面想:嗯,这个冒泡排序我已经学的滚瓜烂熟了,这个题目应该可以过了吧!

我想说的是,这个问题回答的很对,没有错。但是却错过了一次展示自己的机会!
“对”与“错”,从来都没有一个正确的答案,都是相对的。

举个栗子:
张三和王五是情敌(关系不好的那种)
张三和赵四是好哥们(关系特别好的那种)
王五和赵四是好基友(你懂得)
从张三的视角来看:王五这小崽子跟我抢女朋友,这*是一个坏人,只有赵四是我的好朋友
从王五的视角来看:张三这小崽子跟我抢女朋友,叫上赵四铁哥们,丫的找机会弄他
从赵四的视角来看:张三是我的铁子,王五也是我的铁子,他们有事情我一定帮他们

在这个铁三角的关系中,你能看出来“好人”谁是“坏人”吗?

展示自己解决问题的思路

其实在面试时,如果面试官提出的问题是:给你一组数据,怎么进行快速的升序排序?
我们应该怎么去思考和回答这个问题呢?
这时候沟通就比较重要了!!!
可以向面试官提出一些问题,准确的定位,这时也是展示你的思维缜密性。

  • 问题一:这组数据的大小是多少?
  • 问题二:这组数据有没有可能包含大量的重复的元素?
  • 问题三:这组数据的数据类型包含哪种?
  • 问题四:是不是需要稳定排序?
  • 问题五:对计算机语言有要求吗?
  • 问题六:可以使用redis来操作吗?
    … … … 等等 … … …
    体现出思考路径,学会提出问题!

提出自己的一些见解

在回答问题的同时,最好还需要提出一些自己的见解。

  • 怎么对算法进行优化?
  • 在写算法时,代码怎么规范?
  • 在写算法时,怎么保证代码的健壮性?
  • 在写算法时,怎么保证代码的容错性?
  • 怎么去封装一个算法?

其实在与面试官的面试过程中,就是在一起讨论一些问题的解决方案。当做一个学习交流的过程。可以和面试官一起聊一聊算法在实际工作场景的应用,要充分利用机会和面试官进行交流沟通,提出自己的想法。
如果遇到一些比较难的问题,也不要紧张,因为对于别人来说,这个问题也是比较难的。
但是我们可以说一下,这个问题属于哪一个领域,我们可以在哪里能找到解决方案,查阅资料,怎么快速的去解决一个问题。总结一下就是解决问题的方式。

《藏头诗》

祝福无限借诗言
君子之交似幽兰
前程似锦花开绽
程路顺畅好悠然
似水流年再奋进
锦上添花赋新篇

求关注!求点赞!求评论!这真的对我很重要啊!帮帮孩子吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HipiCloud

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值