一二面_算法类

一二面_算法类

排序

在这里插入图片描述

记住下面的四个排序以及他们的时间复杂度和空间复杂度,通常是给你一个算法题,排序是它其中一个步骤,也不会要求你用哪个指定的排序

快速排序

https://segmentfault.com/a/1190000009426421

选择排序

https://segmentfault.com/a/1190000009366805

希尔排序

https://segmentfault.com/a/1190000009461832

冒泡排序
堆栈、队列、链表

堆栈一定要准备,JS的数组本身就有堆栈的特性

https://juejin.im/entry/58759e79128fe1006b48cdfd

递归

一定要会,百分之六十的算法题,只要稍微复杂,基本都要用到递归,写递归题的时候要注意递归的本质,就是终止条件是什么以及参数怎么传递

https://segmentfault.com/a/1190000009857470

波兰式和逆波兰式

数据结构的书上有明确的形式需要用波兰式和逆波兰式解决

理论:http://www.cnblogs.com/chenying99/p/3675876.html

源码:https://github.com/Tariiaos/rpn.js/blob/master/rpn.js

怎么使自己能顺利通过这场算法题的面试

1.上面的基本功

2.技巧所在,拿到这个题目先理解题目的意思,理解不了可以问问面试官可不可以给些提示,这是很礼貌的也是很正常的要求,面试官有义务帮你解释一下,他要是懒得给你提示,说明你前面答得太烂了,一般情况下他要是觉得你前面的题达的还OK,这算法题确实有难度,面试官稍微提示一下你是很正常的,这是你的权利,不要不用。他给你提示了,有了前面的基本功,基本你就知道用什么方法解决了,但是如果真的不知道代码怎么写,但思维逻辑一定要弄清楚(伪代码),比如要用递归,先写出递归的函数来,再梳理条件和参数该怎么传,要学会分解,能想到哪一步就写到哪一步,面试过程中你能想到哪你的笔要落在哪,一行代码都不要少些,你能写出来多少就是多少,最后实在写不出来了,你可以问他一下说,我这个地方卡住了,我知道要怎么做,但是我不知道用哪个API或者什么什么怎么用了,你问面试官,面试官这时候不怕你问问题,因为这个题本身难度就是特别大,如果在他的提示下你能把这个题达好,你就已经很棒了。

3.知识面,这个题我真的不知道怎么答了,我真的写不出来,但是我知道这个题我见过我知道用什么样的算法,比如用波兰式和逆波兰式,如果当时你就没准备这个算法或想不起来这个算法的源码怎么写,但是你要告诉他这道题的原理是什么,比如什么是波兰式,把它写清楚,然后这块的东西,哪块代码在哪个文章中有看过,核心原理是什么,把它的意思解释出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值