面试准备

作者: Luxin23 | 来源:发表于2018-01-18 21:10 被阅读30次

    关于过去:参与项目至关重要

    • 项目经历和项目中遇到的实际问题
    • 你遇到的印象中最深的bug是什么?
    • 面向对象
    • 设计模式
    • 网络相关,安全相关,内存相关,高并发
    • 系统设计

    通过过去了解你的思考行为方式

    • 遇到最大的挑战?
    • 犯过的错误?
    • 遭遇过的失败?
    • 最享受的工作内容?
    • 遇到冲突的处理方式?
    • 做的最与众不同的事儿?

    准备合适的问题问面试官

    • 整个小组的大概工作模式是怎么样呢?(团队合作开发)。
    • 整个项目的后续规划是怎么样的?
    • 这个产品遇到问题是怎么样解决的?
    • 为什么会选择xxx技术?(技术选型)。
    • 我对xx技术比较感兴趣,在这个小组我会有怎样的机会深入学习这种技术?

    高级数据结构和算法(被问概率低)

    • 红黑树
    • 计算几何
    • B树
    • 数论
    • 斐波那契堆
    • FFT

    基础数据结构与算法(经常问)

    • 各种排序算法
    • 基础数据结构与算法的实现:如堆、二叉树、图...
    • 基础数据结构的使用:如链表、栈、队列、哈希表、图、Trie、并查集...
    • 基础算法:深度优先、广度优先、二分查找、递归...
    • 基本算法思想:递归、分治、回溯搜索、贪心、动态规划...

    当没有思路的时候

    • 自己给自己简单的简单测试用例,测试一下
    • 尝试暴力解法

    优化算法

    • 遍历常见的算法思路
    • 遍历常见的数据结构
    • 空间和时间的交换(hash table)
    • 预处理信息(排序)
    • 在瓶颈处寻找答案:O(nlogn)+ O(n^2); O(n^3)

    实际编码

    • 极端条件判断(数组为空?字符串为空?数量为0?指针为NULL?)
    • 变量名(模块化,复用性)

    对于基本问题,白板编程

    相关文章

      网友评论

        本文标题:面试准备

        本文链接:https://www.haomeiwen.com/subject/uhfgoxtx.html