DevStore首页 > 文章 >文章详情

【职场经验】阿里、腾讯面试准备(三)

superman001 | 2015-04-10 09:56    浏览量(824)    评论(0)   推荐(0)

天道酬勤

接上篇的博客继续来写面试准备中需要的基础知识,比如数据结构、网络、算法、数据库等。因为准备面试也是一个漫长的过程,和考试前的复习准备一样,所以还是要有个计划,分层次进行准备,每天都有不同的任务,当把自己能想到的所有都复习完之后,就要着重找出重要的点来进行强化复习,虽然说还是靠平时的积累,但是这个准备过程也是相当重要的。
接下来谈谈面试中需要准备的一些基础知识,这些知识不是针对某一个岗位的,几乎所有岗位都需要准备这些知识,比如数据结构等。

数据结构

基础知识

程序=数据结构+算法,可见这两个的重要性。
说起数据结构,几乎每个学计算机的都该上过这门课,数据结构中主要的一些知识都是一些最基础的,但是面试的时候往往会从最基础的知识开始引申,谈到更深层次的知识,但所有的都脱离不了基本功。
准备数据结构时,根据自己的知识储备来进行准备,哪里还不太懂就重点复习哪里,比如我准备的时候,我对树和图这两章比较陌生,我着重的复习了这两章的内容。复习数据结构过程中,并没有拿着大学课本从头开始看,我推荐看一下《大话数据结构》,我也是借同学的书看的,书中讲的知识点还是蛮清楚的,而且语言浅显易懂。也可以根据自己的情况来进行复习,找一本适合自己的书来看。
数据结构中主要需要弄懂一下几点:
1. 链表结构的基本知识,比如单链表,双链表,循环链表,以及链表的构建过程,链表中的基本操作,比如插入、删除、排序等。
2. 队列的知识不会单独考察,但是需要理解队列这种数据结构的思想,许多算法都要用到队列的知识,比如广度优先算法的遍历过程。熟悉队列的基本知识就可以了。
3. 和队列一样,都是最基础的数据结构,许多算法中同样会涉及栈的操作,以及用栈来作为辅存空间,这些都需要牢牢的掌握才能灵活变通。
4. 作为数据结构中最重要的,是面试时被问的最高的,俗话说“最难不过二叉树”,在树的复习过程中,需要了解树的基本知识,同时着重复习二叉树,二叉树的性质、构建过程、排序、遍历等,同时了解二叉树的延伸知识,平衡二叉树等,这一章我话了很多知识,后面的面试过程证明我的策略是对的,好多面试题都是从这方面来问的,所以重点照顾下二叉树。
5. hash作为算法中比较常用的数据结构,特别是大数据算法,在复习时也需要掌握,问一下自己是否懂hash中的集中hash生成函数,以及如何处理hash冲突,有多少种方法等。
6. 最后来说一下,作为数据结构中最难的章节,这部分一半在面试中设计不到,但是为了防止面试官比较刁钻,问一些图的知识,还是需要准备一下的,我后面的面试中就问到了图的知识,而且还不少。复习图时,图的遍历的算法,比如广度优先算法和深度优先算法,以及求两点之间最短路径问题的算法,迪杰斯特拉算法等,需要了解下。
谈起数据结构,其实最重要的还是基础,打好基础才能灵活变通。

数据结构中算法

数据结构中需要复习并中点掌握的算法就是查找排序,在《大话数据结构》这本书的后面两章就是讲解查找和排序算法的,其中排序算法的各个实现过程要死记硬背住,并能手写代码,同时需要了解各种算法的时间复杂度以及空间复杂度。
推荐几个比较好的网址:
1. 八种排序算法
2. 二叉树相关问题

网络

说起网络这块,我几乎没有多少知识储备,网络课程还没开,所以所有的知识都是从网上看来的,这部分也就是准备一下基础。比如网络的七层协议,UDP、TCP、HTTP的相关知识和概念,各自属于哪一层,三次握手、四次分手的过程,还有就是POST、GET方式的区别和优缺点等。
推荐几个我看过的网址:
1. TCP协议中的三次握手和四次挥手(图解)
2. HTTP协议详解
3. TCP、UDP和HTTP详解
4. 计算机网络面试题

数据库

其实一开始我是没有复习数据库的,因为数据库的课程正在上,同时我也就复习了一下Android中的数据库的一些常用操作,其他数据库知识我也没太懂,后来又复习的时候才认真的看了下sqlite中的知识,这是推荐的链接sqlite入门级教程
这方面的知识一般问的不多,都是最基础的数据库中的概念,以及常见问题,准备基础就可以了。

操作系统

学计算机的肯定要设计操作系统,我面试阿里的时候就被问到了操作系统中的内存管理,段式管理、页式管理、段页式混合管理,当时脑子空白,没答上来,后面赶紧复习了下操作系统的知识。操作系统面试
同时回忆了下上课中学到的一些操作系统知识,比如进程和线程的区别、进程调度这些知识。根据自己的实际情况来安排这部分的复习准备。

算法

啊,终于写到算法上了,算法这部分自己太水,除了常用算法外,其他比较高深的算法自己也不太懂,但是在面试中算法几乎都是和数据结构来结合着问的,毕竟数据结构+算法=程序。
复习算法中的时候,推荐看《剑指offer》,我看不惯电子书,所以从网上淘了一本,看上面的面试算法还是挺不错的,搞懂上面的算法,同时能够举一反三就能通过面试了。
算法准备的时候呢,还需要准备一下关于大数据的算法,毕竟这是个大数据的时代了,各种海量算法,而且面试官也会时不时的问一些大数据的问题。
1. 海量数据相似度计算之simhash和海明距离
2. 十道海量数据处理面试题与十个方法大总结
对于算法自己也不是太懂,根据个人情况来进行准备。

总结

上面说了这么多的面试准备的东西,其实这个准备过程中需要付出的也很多的,我在面试准备过程中,天天泡图书馆,泡了差不多一个月,腾讯和阿里的offer都拿到了,准备过程也没有白费。在此期间呢,最重要的考验还是心理上的,这泡图书馆期间,翘了好多课,人品太不好,被点了好几次名,同时买的自行车第二天就丢了,哎,所有败人品的事都赶上了,阿Q精神,就当这些都为面试积攒人品了,所幸最后的结果还不错。

逆风的方向更适合飞翔,不怕万人阻挡,只怕自己投降。

  •   赞(1) 赞 +1 赞(1) 已赞
  •   收藏(3) 收藏 +1 已收藏 取消
  •   推荐上头条 推荐 +1 推荐上头条 已推荐
评论(0)

文章上传作者

  • 8 能力值
  • 4 文章
  • 0 投稿

superman001的热门文章

热门文章

暂时没有热门文章噢~