一. 选择题 40分钟:
1.某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为512字节,那么进程A与进程B的物理内存总共使用了__字节。
进程A页表: 进程B页表:
逻辑页 物理页 逻辑页 物理页
0 9 0 1
1 2 1 3
2 4 2 4
3 6 3 7
4 4 2
5 5
4608
3584
4096
5120
2560
2048
2.以下函数中,和其他函数不属于一类的是__。
fwrite
putc
pwrite
putchar
getline
scanf
3.下面线程间的通讯机制中,关键路径上不会产生系统调用从而减少用户态到内核态的上下文切换的是__。
pthread_spin_lock
pthread_mutex
信号量
pthread_rwlock
管道
消息队列
4.使用KMP算法在文本串S中找模式串P是一种常见的方法。假设S=P={xyxyyxxyx},亦即将S对自己进行匹配,匹配过程中正确的next数组是__。
0,1,1,2,2,1,2,2,3
0,1,2,2,3,1,2,2,3
0,1,1,2,3,1,2,2,3
0,1,1,2,3,1,1,2,3
0,1,2,2,3,1,1,2,3
0,1,2,2,2,1,1,2,3
5.两人在一个n个点的无向完全图上进行游戏,每次可以选择当前图中两个端点度数奇偶性相同的边删除,谁不能操作谁输,则在n=1,2,3,……,9,10中,有__个图先手有必胜策略。
2
3
4
5
6
7
6.下面数据结构能够支持随机的插入和删除操作、并具有较好的性能的是__。
数组和链表
链表和哈希表
哈希表和队列
队列和堆栈
堆栈和双向队列
双向队列和数组
7.袋子中分别一叠纸币,其中5元面值的纸币6张,10元面值的纸币5张,20元面值的纸币4张,从袋子中任意取4张纸币,则每种面值至少取到一张的概率为__。
8/91
25/91
48/91
53/91
60/91
63/91
8.一台机器对200个单词进行排序花了200秒(使用冒泡排序),那么花费800秒,大概可以对__单词进行排序。
400
500
600
700
800
900
9.一个英雄基础攻击力为100,携带了三件暴击武器,武器A有40%的概率打出2倍攻击,武器B有20%的概率打出4倍攻击,武器C有10%概率打出6倍攻击,各暴击效果触发是独立事件,但是多个暴击效果在一次攻击中同时触发时只有后面武器的暴击真正生效,例如一次攻击中武器A判定不暴击,武器B和武器C都判定触发暴击,那么这次攻击实际是600攻击力。那么这个英雄攻击力的数学期望是__。
186.6
200
232.8
256.8
320
332.6
10.有一个类B继承自类A,他们数据成员如下:
class A {
…
private:
int a;
};
class B : public A {
…
private:
int a;
public:
const int b;
A &c;
static const char* d;
B* e;
}
则构造函数中,成员变量一定要通过初始化列表来初始化的是__。
a b c
b c e
b c d e
c e
b d
b c
11.如果下列的公式成立:78+78=123。则采用的是__进制表示的。
11
12
13
14
15
以上都不对
12.函数f1的定义如下:
void _cdec1 f1(const int& v1, cont int& v2)
{
std::cout std::cout }
则以下代码输出结果为__。
int main (int argc, char* argv[])
{
int i=0;
func (++i,i++);
return 0;
}
0 1
1 2
2 1
2 0
0 2
1 0
13.设一颗二叉树中有3个叶子节点,有8个度为1的节点,则该二叉树中总的节点数为__。
12
13
14
15
16
17
14.在如下8*6的矩阵中,请计算从A移动到B一共有__种走法。要求每次只能向上或向右移动一格,并且不能经过P。
456
492
568
626
680
702
15.有甲、乙、丙三位员工分别负责前端、后端、数据、算法、测试、运维。每人负责两项。已知:
数据和前端住在一起
甲是三人中最年轻的
前端和丙有空一起下棋
后端比算法年长,又比乙年轻
三人中最年长的住得最远
那么,三人分别负责__。
甲-前端&测试;乙-算法&运维;丙-后端&数据
甲-后端&算法;乙-前端&运维;丙-测试&数据
甲-前端&运维;乙-测试&算法;丙-后端&数据
甲-算法&数据;乙-测试&前端;丙-后端&运维
甲-前端&算法;乙-后端&运维;丙-测试&数据
甲-前端&算法;乙-测试&运维;丙-后端&数据
16.在1,2,3,…..1000中,有__个数各位乘积为0。
100
101
172
181
190
191
A为整数数组, N为A的数组长度,请问执行以下代码,最坏情况下的时间复杂度为__。
void fun(int A[], int n) {
for (int i = n - 1; i >= 1; i?) {
for (int j = 0; j if (A[j] > A[j+1]) {
int tmp = A[j + 1];
A[j + 1] = A[j];
A[j] = tmp;
}
}
}
}
O(N)
O(N^2)
O(Nlog(N))
O(log(N))
O(N^3)
无法确定四维空间中有两个夹角60度的向量A和B,随机生成一个向量C分别与A和B计算内积,那么两个内积符号相同的概率为__。
1/4
1/3
1/2
2/3
3/4
以上都不对一人以d元在XX买入n套《三体》,d为正整数,其中两套他以成本一半送给朋友,余下的每套高于原价8元卖出,加上送给朋友的两套,如果全部利润是72元,那么n最小可能是__。
18
17
15
13
12
10假设基准值为数组首元素的快速排序,要使得数组满足非降序排列,下列数据分布导致快排算法效率最低的是__。
2-6-3-7-5-1-4
6-2-3-5-4-1-7
7-5-3-2-4-1-6
1-5-7-2-4-6-3
1-2-3-4-5-6-7
4-1-3-7-5-6-2
二. 附加大题:
1.在PHP开发过程中,不可避免要处理各种程序错误,你用过哪些PHP函数来跟error打交道呢,请举几个例子并说明其用法。
2.PHP有哪些常用的网络数据抓取方法?
3.mysql的存储引擎有哪些,有什么区别,适用场景?联合索引、前缀索引、覆盖索引的概念,及用sql语句体现三种索引的用法?
4.PHP实现四种基本排序算法(冒泡排序,插入排序,选择排序,快速排序)
$array = array(1,43,54,62,21,66,32,78,36,76,39);
5.如何防止SQL注入?
6.请写出你所熟悉的设计模式,并且写出应用场景以及伪代码(至少3个以上)
版权声明:本文为博主原创文章,未经博主允许不得转载。

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版