Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit34b1822

Browse files
committed
add toc
1 parent7f2015a commit34b1822

File tree

1 file changed

+168
-1
lines changed

1 file changed

+168
-1
lines changed

‎Readme.md

Lines changed: 168 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,134 @@
1+
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again-->
2+
**Table of Contents**
3+
4+
-[Python面试题集](#python)
5+
-[Python语言特性](#python)
6+
-[1 Python的函数参数传递](#1-python)
7+
-[2 Python中的元类(metaclass)](#2-pythonmetaclass)
8+
-[3@staticmethod@classmethod](#3-staticmethodclassmethod)
9+
-[4 类变量和实例变量](#4-)
10+
-[5 Python自省](#5-python)
11+
-[6 字典推导式](#6-)
12+
-[7 Python中单下划线和双下划线](#7-python)
13+
-[8 字符串格式化:%和.format](#8-format)
14+
-[9 迭代器和生成器](#9-)
15+
-[10`*args` and`**kwargs`](#10-args-and-kwargs)
16+
-[11 面向切面编程AOP和装饰器](#11-aop)
17+
-[12 鸭子类型](#12-)
18+
-[13 Python中重载](#13-python)
19+
-[14 新式类和旧式类](#14-)
20+
-[15`__new__``__init__`的区别](#15-newinit)
21+
-[16 单例模式](#16-)
22+
-[1 使用`__new__`方法](#1-new)
23+
-[2 共享属性](#2-)
24+
-[3 装饰器版本](#3-)
25+
-[17 Python中的作用域](#17-python)
26+
-[18 GIL线程全局锁](#18-gil)
27+
-[19 协程](#19-)
28+
-[20 闭包](#20-)
29+
-[21 lambda函数](#21-lambda)
30+
-[22 Python函数式编程](#22-python)
31+
-[23 Python里的拷贝](#23-python)
32+
-[24 Python垃圾回收机制](#24-python)
33+
-[1 引用计数](#1-)
34+
-[2 标记-清除机制](#2--)
35+
-[3 分代技术](#3-)
36+
-[25 Python的List](#25-pythonlist)
37+
-[26 Python的is](#26-pythonis)
38+
-[27 read,readline和readlines](#27-readreadlinereadlines)
39+
-[28 Python2和3的区别](#28-python23)
40+
-[操作系统](#)
41+
-[1 select,poll和epoll](#1-selectpollepoll)
42+
-[2 调度算法](#2-)
43+
-[3 死锁](#3-)
44+
-[4 程序编译与链接](#4-)
45+
-[1 预处理](#1-)
46+
-[2 编译](#2-)
47+
-[3 汇编](#3-)
48+
-[4 链接](#4-)
49+
-[5 静态链接和动态链接](#5-)
50+
-[6 虚拟内存技术](#6-)
51+
-[7 分页和分段](#7-)
52+
-[分页与分段的主要区别](#)
53+
-[8 页面置换算法](#8-)
54+
-[9 边沿触发和水平触发](#9-)
55+
-[数据库](#)
56+
-[1 事务](#1-)
57+
-[2 数据库索引](#2-)
58+
-[3 Redis原理](#3-redis)
59+
-[4 乐观锁和悲观锁](#4-)
60+
-[5 MVCC](#5-mvcc)
61+
-[6 MyISAM和InnoDB](#6-myisaminnodb)
62+
-[网络](#)
63+
-[1 三次握手](#1-)
64+
-[2 四次挥手](#2-)
65+
-[3 ARP协议](#3-arp)
66+
-[4 urllib和urllib2的区别](#4-urlliburllib2)
67+
-[5 Post和Get](#5-postget)
68+
-[6 Cookie和Session](#6-cookiesession)
69+
-[7 apache和nginx的区别](#7-apachenginx)
70+
-[8 网站用户密码保存](#8-)
71+
-[9 HTTP和HTTPS](#9-httphttps)
72+
-[10 XSRF和XSS](#10-xsrfxss)
73+
-[11 幂等 Idempotence](#11--idempotence)
74+
-[12 RESTful架构(SOAP,RPC)](#12-restfulsoaprpc)
75+
-[13 SOAP](#13-soap)
76+
-[14 RPC](#14-rpc)
77+
-[15 CGI和WSGI](#15-cgiwsgi)
78+
-[16 中间人攻击](#16-)
79+
-[17 c10k问题](#17-c10k)
80+
-[18 socket](#18-socket)
81+
-[19 浏览器缓存](#19-)
82+
-[20 HTTP1.0和HTTP1.1](#20-http10http11)
83+
-[Ajax](#ajax)
84+
-[*NIX](#nix)
85+
-[unix进程间通信方式(IPC)](#unixipc)
86+
-[数据结构](#)
87+
-[1 红黑树](#1-)
88+
-[编程题](#)
89+
-[1 台阶问题/斐波纳挈](#1-)
90+
-[2 变态台阶问题](#2-)
91+
-[矩形覆盖](#)
92+
-[2 杨氏矩阵查找](#2-)
93+
-[3 去除列表中的重复元素](#3-)
94+
-[4 链表成对调换](#4-)
95+
-[Definition for singly-linked list.](#definition-for-singly-linked-list)
96+
-[class ListNode:](#class-listnode)
97+
-[def__init__(self, x):](#def-initself-x)
98+
-[self.val = x](#selfval--x)
99+
-[self.next = None](#selfnext--none)
100+
-[创建字典的方法](#)
101+
-[1 直接创建](#1-)
102+
-[2 工厂方法](#2-)
103+
-[3 fromkeys()方法](#3-fromkeys)
104+
-[dict={'x':-1,'y':-1}](#dictx-1y-1)
105+
-[dict2={'x':None, 'y':None}](#dict2xnone-ynone)
106+
-[合并两个有序列表](#)
107+
-[交叉链表求交点](#)
108+
-[Definition for singly-linked list.](#definition-for-singly-linked-list)
109+
-[class ListNode:](#class-listnode)
110+
-[def__init__(self, x):](#def-initself-x)
111+
-[self.val = x](#selfval--x)
112+
-[self.next = None](#selfnext--none)
113+
-[二分查找](#)
114+
-[快排](#)
115+
-[找零问题](#)
116+
-[广度遍历和深度遍历二叉树](#)
117+
-[二叉树节点](#)
118+
-[层次遍历](#)
119+
-[深度遍历](#)
120+
-[前中后序遍历](#)
121+
-[求最大树深](#)
122+
-[求两棵树是否相同](#)
123+
-[前序中序求后序](#)
124+
-[重建](#)
125+
-[后序遍历](#)
126+
-[单链表逆置](#)
127+
128+
<!-- markdown-toc end-->
129+
130+
131+
1132
#Python面试题集
2133

3134
目前面了4家python的公司,基本都是很基础的东西,对比发现和stackoverflow上高票数的问题有很多重复,整理一下希望对别人有帮助.
@@ -353,7 +484,7 @@ Python 中,一个变量的作用域总是由在代码中被赋值的地方所
353484

354485
本地作用域(Local)→当前作用域被嵌入的本地作用域(Enclosing locals)→全局/模块作用域(Global)→内置作用域(Built-in)
355486

356-
##18线程全局锁
487+
##18GIL线程全局锁
357488

358489
线程全局锁(Global Interpreter Lock),即Python为了保证线程安全而采取的独立线程运行的限制,说白了就是一个核只能在同一时间运行一个线程.
359490

@@ -497,6 +628,10 @@ is是对比地址,==是对比值
497628
* readline 读取下一行,使用生成器方法
498629
* readlines 读取整个文件到一个迭代器以供我们遍历
499630

631+
##28 Python2和3的区别
632+
633+
634+
500635
#操作系统
501636

502637
##1 select,poll和epoll
@@ -641,9 +776,18 @@ Bulid过程可以分解为4个步骤:预处理(Prepressing), 编译(Compilation)
641776

642777
##4 乐观锁和悲观锁
643778

779+
悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作
780+
781+
乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。
782+
783+
##5 MVCC
784+
644785

786+
##6 MyISAM和InnoDB
645787

788+
MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的。
646789

790+
InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比 MyISAM 还慢。他是它支持“行锁” ,于是在写操作比较多的时候,会更优秀。并且,他还支持更多的高级应用,比如:事务。
647791

648792
#网络
649793

@@ -761,6 +905,17 @@ Socket=Ip address+ TCP/UDP + port
761905

762906
304 not midifyide
763907

908+
##20 HTTP1.0和HTTP1.1
909+
910+
推荐:http://blog.csdn.net/elifefly/article/details/3964766
911+
912+
1. 请求头Host字段,一个服务器多个网站
913+
2. 长链接
914+
3. 文件断点续传
915+
3. 身份认证,状态管理,Cache缓存
916+
917+
##Ajax
918+
764919
#*NIX
765920

766921
##unix进程间通信方式(IPC)
@@ -815,6 +970,18 @@ def fib(i):
815970
return fib(i-1)+fib(i-2)
816971
```
817972

973+
第三种方法
974+
975+
```python
976+
deffib(n):
977+
a, b=0,1
978+
while a< n:
979+
print a,
980+
a, b= b, a+ b
981+
print
982+
fib(1000)
983+
```
984+
818985
##2 变态台阶问题
819986

820987
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp