百度面试(二)
2016-03-29 19:53
309 查看
这次是电话面试,投的是百度地图后台实习生岗位。
首先五分钟自我介绍。然后开始问一些专业问题。
数据结构有哪些?数组和链表的区别。你在什么时候使用过这两种结构
从逻辑结构来看
数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
从内存存储来看
(静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
链表从堆中分配空间, 自由度大但是申请管理比较麻烦
从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。
排序算法说三个0(N2)和三个O(N*LOGN)的算法。说下插入排序思路
面向对象编程和过程的区别,面向对象有什么好处。
MySQL优化方法http://www.jb51.net/article/18934.htm
QPS
继承和多态的区别
项目中遇到的困难
多线程
操作系统
计算机网络
首先五分钟自我介绍。然后开始问一些专业问题。
数据结构有哪些?数组和链表的区别。你在什么时候使用过这两种结构
从逻辑结构来看
数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
从内存存储来看
(静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
链表从堆中分配空间, 自由度大但是申请管理比较麻烦
从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。
排序算法说三个0(N2)和三个O(N*LOGN)的算法。说下插入排序思路
面向对象编程和过程的区别,面向对象有什么好处。
MySQL优化方法http://www.jb51.net/article/18934.htm
QPS
继承和多态的区别
项目中遇到的困难
多线程
操作系统
计算机网络
相关文章推荐
- java面试狂魔之hibernate悲观锁和乐观锁
- 随笔面试题
- android最新面试(非技术性问题)
- Android面试
- Android面试必备
- 面试题 多线程 顺序操作
- ~$吐槽“奇葩求职者”极品求职让人伤不起
- 网友疯狂吐槽奇葩面试经历
- Android开发跳槽、简历和面试的那些事
- Android 面试精华题目总结
- php面试题
- leetcode之旅(6)-Add Digits
- Java常用排序算法/程序员必须掌握的8大排序算法
- 软件测试职业规划
- iOS面试题
- 面试题的那些事(2)—斐波那契数列
- x & (x - 1)式子的含义
- Android 最新面试题
- iOS开发笔记--iOS,面试必看,最全梳理
- 面试大数据解决方案