算法1

1.算法是解决问题的,分析问题的细节和应用环境。一个合理的解决路径。(算法与数据结构)
以一组数据进行排序为例

  • 快速排序
  • 有没有大量重复元素
  • 是否近乎有序
  • 是否取值 范围有限
  • 是否需要稳定排序
  • 是否使用链表存储
  • 数据大小是否可以装载在内存

2.项目经历和项目中遇到的实际问题

  • 面对的影响最深刻的bug
  • 面向对象
  • 设计模式
  • 网络相关,安全相关,内存相关
  • 系统设计,scalability

3.关于过去,参与项目至关重要
实习,实战课程学(慕课网),创建自己的项目(小应用:计划表,备忘录,爬虫,数据分析,词频统计,代码整理(博客,github))

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

4.准备好适合的问题问面试管

  • 整个小组的运行模式?
  • 项目的后续规划?
  • 会选择那些技术?标准?
  • 自己的后续成长?
    5基础算法和数据结构
  • 各种排序算法
  • 基础数据结构和算法的实现:如堆二叉树,图
  • 基础数据结构使用:如链表,栈,队列,哈希表,图,tree,并查集
  • 基础算法:深度优先,广度优先,二分查找,递归
  • 基础算法思想:递归,分治,回溯搜索,贪心,动态规划
    6选择合适的OJ(online judge)
  • 偏向程序设计竞赛的(CODEFORCES,topcoder,CODECHEF)
  • 面向面试的(leetcode,HackerRank对问题的分类很详细)

7.解决算法面试的整体思路

  • 注意给定的条件
  • 当没有思路时,可以试用一个测试用例,也可以暴力解法。
  • 优化算法,遍历常见的算法思路,遍历常见的数据结构,空间和时间的交换(哈希表),预处理信息(排序),在瓶颈处寻找答案
  • 极端条件的判断:数据为空,字符串为空,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值