• 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数据库;
  • 相关阅读:
    Python dict 排序
    解决问题:Appium WebView 跳转页面后无法定位元素
    解决问题:Appium Android WebView 测试执行,从源生切换至WebView不稳定。超时后报chrome not reachable
    uiautomatorviewer获取元素属性,属性列表中缺少resource-id
    解决问题 Jenkins 执行RobotFramework 脚本时未能打开浏览器 只有进程在运行
    解决问题 WebDriverException: Message: unknown error: cannot find Chrome binary
    通过JS操作滚动条
    Python 判断指定路径下文件是否存在
    Linux下安装Oracle 11g
    博客园-评论树
  • 原文地址:https://www.cnblogs.com/jiangchen/p/5863391.html
Copyright © 2020-2023  润新知