📜  甲骨文面试 |设置 1

📅  最后修改于: 2022-05-13 01:58:28.403000             🧑  作者: Mango

甲骨文面试 |设置 1

我参加了在 Banglore 的 Oracle 服务器技术面试。他们从 PPT 开始,然后是笔试。然后是两轮技术面试,然后是HR。最终结果在一周后宣布并被选中,感谢极客的极客。


您应该在 c/c++/ Java中编写算法/伪代码,然后编写实际代码。

Q1。给出一棵树,将其发送到网络上。您可以假设 send() 和 receive() 函数可用。

Q2。压缩字符串存储在足够长的数组中。编写一个程序及其复杂性来解压缩字符串。即 a3b6c4 à aaabbbbbbccccc

Q3。媒体播放器从包含大量歌曲的数据库中选择歌曲。创建一个随机播放函数,使其随机选择一首歌曲但不重复歌曲。您可以假设随机函数rand() 可用。

解决方案 1。
a) 按顺序读取字符串并使用 send() 和 receive()函数进行传输。
b) 预先读取字符串并使用 send() 和 receive()函数进行传输。
c) 在接收端,inorder 和 preorder 都可用,因此可以重建树。

解决方案 2。
a) 首先读取所有频率并将它们相加为 total_freq。
b) 从索引 total_freq 开始填充数组。
c) 按给定的频率重复一个字符。

解决方案 3。
a) 列举歌曲,为每首歌曲分配一个特定的编号。
b) 编写一个 map函数,将 random()函数的输出映射到歌曲数据库的大小 (size)。
c) 播放编号为map函数输出的歌曲。
d) 现在按比例放大该歌曲的序列号,使其超出 map()函数的范围,即 seq_no= seq_no + size; (这样下次就不能重复,直到所有歌曲都播放过一次)。
e) 播放完所有歌曲后,再次按比例缩小它们的序列号。

Oracle 的所有练习题!