zoukankan      html  css  js  c++  java
  • note 面试前熟悉的内容

    • 了解你所面试的公司:产品,成立时间,融资,竞争对手;
    • 分析算法的时间和空间复杂度(Big-O);
    • java/c++ 熟练掌握一门,python面试算法题其实也ok。
    • 对语言的细节特性有足够的理解,理解语言之间的差异,比如解释执行vs编译执行,java jvm, garbage collection等;
    • 最好熟悉一门脚本编程语言如Python/ruby;
    • 至少知道两种n*log(n)的排序算法,比如快速排序和归并排序。merge sort 很重要,比如K-way merge sorts;
    • 掌握二分查找思想及应用场景,灵活处理类似问题,比如search in a sorted array查找、实现sqrt()等问题;
    • Hashtable: 透彻理解Hashtable的原理、性能、碰撞处理,并能用array (in your favorate language) 来实现一个简单的hashtable,考虑多线程的情况;对于java的hashmap 要了解java hashmap和hashtable区别,concurrenthashmap, linkedhashmap.
    • Binary Search Tree的基本操作比如添加、删除节点,树与其他数据结构的相互转化, BST删除节点操作基本都会挂。
    • 二叉树的各种遍历算法(前序、中序、后序、层序),根据遍历结果重建二叉树;
    • K-ary trees(一个树有k个children)/trie-tree的实现算法和应用场景;
    • 大体了解一种平衡树,比如(red/black tree, splay tree or AVL tree) , 比如知道treemap的内部实现是red/black tree, 了解database index 所用的b+ tree/b tree.
    • 理解Min/Max heap的实现、各种操作时间复杂度和应用场景,熟练解决查找top(N)类型问题;
    • Graph在内存中的三种构造方式(objects and pointers, matrix, and adjacency list);
    • 遍历算法BFS/DFS,分析时间和空间复杂度,以及具体实现
    • 结合Graph常考的算法比如拓扑排序,最短路径以及最小生成树算法
    • 掌握基本的Dynamic programing的思想,熟练解决基本的DP问题,比如两字符串的最长子串,字符串之间的edit distance等;
    • 理解操作系统中的进程、线程、以及它们之间的区别,理解系统并发操作中的常见问题(死锁),以及如何使用locks, mutexes, semaphores来解决并发问题。
    • 理解面向对象设计(封装、继承、多态),能把一个模糊定义的业务需求用OO的方式抽象(比如设计电梯、停车场等);设计模式:Singleton(线程安全版本)、factory等;
    • java primitive type的内存(boolean: 1 byte, int: 4 bytes, long: 8 bytes),了解基本位操作;
    • 理解分布式系统的基本概念,解决的问题以及分布式系统设计中CAP(Consistency, Availability, Partition)一致性、可用性、高性能之间的trade-offs;
    • 了解一些网络的基本知识tcp/ip三次握手, http/https区别,输入http://www.google.com 这个网址后会发生什么;
    • linux基本命令: kill -9, scp, ps -ef, netstat;
    • sql数据库基本知识:join,index,简单的sql语句:从table中找出成绩第二好的学生姓名;sql与nosql数据库区别,简单了解几种nosql数据库;
  • 相关阅读:
    HDU 2010 水仙花数
    HDU 2009 求数列的和
    HDU 2008 数值统计
    Nginx实现反向代理
    vue-router 实现分析
    区分slice,splice和split方法
    notify()和notifyAll()主要区别
    移动端页面兼容性问题解决方案整理
    clearfix的用法
    前端js面试题
  • 原文地址:https://www.cnblogs.com/jiangchen/p/5863391.html
Copyright © 2011-2022 走看看