加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

笔试·

发布时间:2020-12-15 00:22:35 所属栏目:C语言 来源:网络整理
导读:table class="text" tr class="li1" td class="ln"pre class="de1"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
<tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350

left); ? printf("%d",Node->data); ? middle_order(Node->right); ? } ? } ? 4.快速排序 function quickSort(array){ function sort(prev,numsize){ var nonius = prev; var j = numsize -1; var flag = array[prev]; if ((numsize - prev) > 1) { while(nonius < j){ for(; nonius < j; j--){ if (array[j] < flag) { array[nonius++] = array[j]; //a[i] = a[j]; i += 1; break; }; } for( ; nonius < j; nonius++){ if (array[nonius] > flag){ array[j--] = array[nonius]; break; } } } array[nonius] = flag; sort(0,nonius); sort(nonius + 1,numsize); } } sort(0,array.length); return array; } ? 5.二分法查找 时间复杂度:O(log2n) 1.确定查找范围front=0,end=N-1,计算中项mid=(front+end)/2。 2.若a[mid]=x或front>=end,则结束查找;否则,向下继续。 3.若a[mid]x,说明待查找的元素值只可能在比中项元素小的范围内,则把mid-1的值赋给end,并重新计算mid,转去执行步骤2。 #include //递归算法 int recurbinary(int *a,int key,int low,int high) { ? ? int mid; ? ? if(low > high) ? ? ? ? return -1; ? ? mid = (low + high)/2; ? ? if(a[mid] == key) return mid; ? ? else if(a[mid] > key) ? ? ? ? return recurbinary(a,key,low,mid -1); ? ? else ? ? ? ? return recurbinary(a,mid + 1,high); } //非递归算法 int binary( int *a,int n ) { ? ? int left = 0,right = n - 1,mid = 0; ? ? mid = ( left + right ) / 2; ? ? while( left < right && a[mid] != key ) ? ? { ? ? ? ? if( a[mid] < key ) { ? ? ? ? ? ? left = mid + 1; ? ? ? ? } else if( a[mid] > key ) { ? ? ? ? ? ? right = mid - 1; ? ? ? ? } ? ? ? ? mid = ( left + right ) / 2; ? ? } ? ? if( a[mid] == key ) ? ? ? ? return mid; ? ? return -1; } ? 6.链表和数组 二者都属于一种数据结构 从逻辑结构来看 1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。 2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素 从内存存储来看 1. (静态)数组从栈中分配空间,对于程序员方便快速,但是自由度小 2. 链表从堆中分配空间,自由度大但是申请管理比较麻烦 ? 7.json var person = { ? ? "Name": "Bob",? ? "Age": 32,? ? "Company": "IBM",? ? "Engineer": true } ? // 获取这个人的信息 ? var personAge = person.Age; ? 8.ajax ? ? ? ? ? ? ? ? ? ? ? ? $.ajax({ ? ? ? ? ? ? ? ? ? ? ? ? url:"{:U('DuanXin/checkcode')}",? ? ? ? ? ? ? ? ? ? ? ? type:"post",? ? ? ? ? ? ? ? ? ? ? ? data:{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'code':randomCode,? ? ? ? ? ? ? ? ? ? ? ? },? ? ? ? ? ? ? ? ? ? ? ? ? ? success: function(responseText,status,xhr) { ? ? ? ? ? ? ? ? ? ? if (status == 'success') { ? ? ? ? ? ? ? ? ? ? ? ? if (responseText == 1) { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? alert("验证成功!"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? verifyold.style.display = "none"; ? ? ? ? ? ? ? ? ? ? ? ? ? ? changetel.style.display = "block"; ? ? ? ? ? ? ? ? ? ? ? ? ? ? times = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? return true; ? ? ? ? ? ? ? ? ? ? ? ? } else { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? alert("验证码错误,请核对后输入!") ? ? ? ? ? ? ? ? ? ? ? ? ? ? return false; ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } else { ? ? ? ? ? ? ? ? ? ? ? ? return false; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? },? ? ? ? ? ? ? ? ? error: function() { ? ? ? ? ? ? ? ? ? ? return false; ? ? ? ? ? ? ? ? },? ? ? ? ? ? ? ? ? timeout: 1000 * 60,? ? ? ? ? ? ? ? }); ? 9.XSS 跨站脚本攻击 类型A,本地利用漏洞,这种漏洞存在于页面中客户端脚本自身 类型B,反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。 类型C,存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。 ? 10.原型和闭包 原型:一个函数可以看成一个类,原型是所有类都有的一个属性,原型的作用就是给这个类的每一个对象都添加一个统一的方法 闭包: 1.函数嵌套函数 2.函数内部可以访问到外部的变量或者对象 3.避免了垃圾回收 ? 11. 跨域:http://www.cnblogs.com/2050/p/3191744.html ? ? ? ? ? http://blog.csdn.net/joyhen/article/details/21631833 一、 ? ? a.http与https为不同域 b.在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的,但是,在页面上引入不同域上的js脚本文件却是可以的 c.jsonp是需要服务器端的页面进行相应的配合的 原理如下: 当我们通过script标签请求时 后台就会根据相应的参数(json,handleResponse) 来生成相应的json数据(handleResponse({"data": "zhe"})) 最后这个返回的json数据(代码)就会被放在当前js文件中被执行 至此跨域通信完成 ? ?//调用callback函数,并以json数据形式作为阐述传递,完成回调 ?handleResponse({message:"success"}); 这其实就是JSONP的简单实现模式,或者说是JSONP的原型:创建一个回调函数,然后在远程服务上调用这个函数并且将JSON 数据形式作为参数传递,完成回调。 ? 二、 1.浏览器都有一个同源策略,其限制之一就是第一种方法中我们说的不能通过ajax的方法去请求不同源中的文档。 2.它的第二个限制是浏览器中不同域的框架之间是不能进行js的交互操作的。有一点需要说明,不同的框架之间(父子或同辈),是能够获取到彼此的window对象的,但蛋疼的是你却不能使用获取到的window对象的属性和方法(html5中的postMessage方法是一个例外,还有些浏览器比如ie6也可以使用top、parent等少数几个属性),总之,你可以当做是只能获取到一个几乎无用的window对象。 3.这时候可以设置两个页面的document.domain相同,document.domain的设置是有限制的,我们只能把document.domain设置成自身或更高一级的父域,且主域必须相同。 ? 三、 1.window对象有个name属性,该属性有个特征:即在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。 ? 四、 1.window.postMessage(message,targetOrigin) ?方法是html5新引进的特性,可以使用它来向其它的window对象发送消息,无论这个window对象是属于同源或不同源,目前IE8+、FireFox、Chrome、Opera等浏览器都已经支持window.postMessage方法。 ? ? 12.今日头条 1.置换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容。 ? 例如:浏览器会根据标签的src属性的值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;标签的type属性来决定是显示输入框,还是单选按钮等。 ? ?(x)html中的

<table class="text">