Skip to content
On this page

解决问题的常见思路

举例

例如“数组转树”和“树转数组”两个问题,题目直接给出了示例,就很好理解。 如果你遇到一些搞不懂逻辑的问题,可以举几个例子。对比输入和输出,即可找出变化的规律。

另外,对于面试官出的问题,如果没有示例,你可以举几个示例让面试官确认,这样可以保证自己理解正确。

画图

遇到比较抽象的问题,拿纸币画图,把抽象变为形象,更容易找出突破口。 课程很多算法问题我们都是通过画图解决的。

拆解

例如 ['1', '2', '3'].map(parseInt) ,把代码拆解到最细的力度,就很容易定位问题。

js
const arr = ['1', '2', '3']
const res = arr.map((s, index) => {
    // console.log(`s is ${s}, index is ${index}`)
    return parseInt(s, index)
})
console.log(res)

识破本质

不要被问题看似复杂的表象所迷惑,要尝试去找出问题的本质,找出问题的考点。 例如下面对象属性赋值的问题,考点就是对象 key 的数据类型。

js
let a = {}, b = '123', c = 123
a[b] = 'b'
a[c] = 'c'
console.log(a[b])

Released under the MIT License.