被面试官血虐后的自省

该篇文章记录的都是自己去各家面试时被问到的问题,在当时面试的时候可能回答不上或者答不完全,回来整理之后记录下来,重新回答问题的同时也反省自己的不足。回答问题的时候不要仅仅局限于回答的表面

1.你熟知的数据结构有哪些?

按照逻辑结构区分:

1、集合 (所有元素都归属于该集合,并没有什么关系) 2、线性表(一对一关系)  3、树(一对多关系) 4、图(多对多关系)

线性表的变种:队列、栈 (即使变种也是线性表)

线性表的特性:1、只有一个头元素,2、只有一个尾元素,3、除了头元素,其他元素都有前驱元素,4、除了尾元素,其他元素都有后继元素

按照存储结构区分:

1、顺序存储 2、链式存储

所有的数据结构都可以以这两种结构存储

2.你知道哪些模型?USR模型(用户 角色 资源)模型你了解么?你如何在不使用session的情况保证用户登陆权限验证?

3.递归和匿名函数有什么区别?递归的思想是什么?匿名函数的优点?

4.python的函数式编程有什么?他们代表了什么设计思想?

python函数式编程有(map,filter,reduce)

设计思想:函数也是可以作为一个变量传递给函数的,函数不仅仅就是个函数,也是可以作为变量的....

5.你知道什么设计模式?你能说出你知道的设计模式的具体应用么?

6.你了解Oauth么?知道是怎么实现的么?

7.二叉树结构的遍历方式有几种?前中后序遍历的顺序是什么?

二叉树结构的遍历方式:前序,中序,后序

用英文的方法去记 D:根节点 L:左节点 R:右节点,遍历的时候总是先左后右,不同的只是遍历时候根的顺序,所以只要记住根的顺序就很方便记下来了

前序:DLR

中序:LDR

后序:LRD

8.你清楚多少种排序方式?请阐述一下快排的实现?在二叉树的数据结构下实现快排?

1、快排, 以一个数为基数,将对象分割成两边,一边比基数大,一边比基数小,将两边以同样的方式利用递归的思想,解决即可实现排序

2、以根节点作为分割的基数,左节点比根节点大,右节点比根节点小                                                                               

9.python中函数式编程和面向对象编程有什么不同?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值