python 【技術面試題和HR面試題】?列表操作、條件判斷、循環、函數定義編程題

1.技術面試題

(1)解釋Linux中的進程、線程和守護進程的概念,以及如何管理它們?

答:
進程
概念:程序運行的實例,有獨立資源(如內存),是系統調度的基本單位。
管理ps 看進程,kill 終止,nice/renice 調優先級。

線程
概念:進程里的執行單元,多個線程共享進程資源,開銷小,適合并發。
管理:通過編程語言線程庫(如 pthread)創建 / 控制,gdb 調試。

守護進程
概念:后臺長期運行的進程,無終端關聯,系統啟動時啟動(如 httpd)。
管理systemctlservice 命令啟動 / 停止 / 查狀態。

(2)請詳細描述OSI七層模型和TCP/IP四層模型,并說明它們之間的對應關系。每一層的主要功能是什么?各層有哪些典型的協議?

答:

OSI 七層模型

  1. 物理層:傳輸原始比特流(0/1),協議如 Ethernet 物理層、RS-232。
  2. 數據鏈路層:封裝比特流為幀,通過 MAC 地址通信,處理錯誤,協議如 Ethernet、PPP、ARP。
  3. 網絡層:通過 IP 地址路由,實現跨網絡傳輸,協議如 IP、ICMP、OSPF。
  4. 傳輸層:端到端數據傳輸(可靠 / 高效),協議如 TCP(可靠)、UDP(高效)。
  5. 會話層:建立 / 管理進程會話(如登錄狀態),協議如 RPC。
  6. 表示層:數據格式轉換、加密(如編碼、SSL),協議如 JPEG、SSL/TLS。
  7. 應用層:為應用程序提供服務,協議如 HTTP、FTP、DNS。

TCP/IP 四層模型

  1. 網絡接口層:對應 OSI 物理層 + 數據鏈路層,協議如 Ethernet、ARP。
  2. 網絡層:同 OSI 網絡層,協議如 IP、ICMP。
  3. 傳輸層:同 OSI 傳輸層,協議如 TCP、UDP。
  4. 應用層:合并 OSI 會話層 + 表示層 + 應用層,協議如 HTTP、DNS。

對應關系

  • TCP/IP 網絡接口層 → OSI 物理層 + 數據鏈路層
  • TCP/IP 網絡層 → OSI 網絡層
  • TCP/IP 傳輸層 → OSI 傳輸層
  • TCP/IP 應用層 → OSI 會話層 + 表示層 + 應用層

(3)詳細介紹什么是最大堆/最小堆。

答:

最大堆

  • 定義:一種完全二叉樹,每個父節點的值 大于等于 其左右子節點的值(根節點是最大值)。
  • 特點:根節點為堆中最大元素,插入 / 刪除時需調整結構維持特性。

最小堆

  • 定義:一種完全二叉樹,每個父節點的值 小于等于 其左右子節點的值(根節點是最小值)。
  • 特點:根節點為堆中最小元素,同樣需動態調整維持特性。

兩者均用于高效獲取極值(如最大 / 最小值),常見于優先隊列、堆排序等場景。

(4)詳細介紹什么是二分搜索樹。

答:

二分搜索樹(BST)是一種有序二叉樹:

  • 左子樹所有節點值 小于 根節點值;
  • 右子樹所有節點值 大于 根節點值;
  • 左右子樹也為二分搜索樹。

特點:支持高效的查找、插入、刪除操作(平均時間復雜度 O (logn)),常用于動態數據的有序管理。

2.HR面試題

(1)我們非常欣賞你的能力,但目前只能提供比你期望薪資低20%的offer。在這種情況下,你會接受這份工作嗎?如果接受,你對未來薪資增長有什么期望?如果不接受,你的底線是什么?

答:

感謝您的認可,也特別理解公司可能有現階段的考量。但這個薪資差距確實超出了我能接受的范圍,這不僅關系到我現階段的生活規劃,也是對自己能力和過往經驗的基本衡量,所以這次可能沒辦法接受。

不過我真心很看重這個機會,如果公司覺得我確實是合適的人選,能否咱們約定一下:比如入職后 3 個月,我會全力以赴做出業績,到時候咱們根據我的實際表現,把薪資調整到我最初期望的水平?這樣既不辜負您的信任,也能讓我更安心地投入工作。如果這個約定能達成,我非常愿意加入;如果實在有難度,那這次只能遺憾錯過了,也希望以后還有合作的可能。

(2)我們公司經常需要加班到深夜,有時甚至需要周末工作。你如何看待這種工作強度?你認為工作與生活的理想平衡點在哪里?

答:我個人不太傾向于頻繁加班到深夜,更希望能盡量避免占用周末時間。平時工作時我會集中精力高效完成任務,爭取準時下班,留出時間處理生活瑣事、放松調整,這樣才能保持穩定的工作狀態。當然,如果遇到項目緊急、確實需要趕工的情況,偶爾加班我是可以理解和配合的,但長期這樣肯定不行,身體和精力都扛不住。如果需要加班,我希望能有符合預期的加班費作為補償,這樣付出和回報能對等一些。

對我來說,工作與生活的理想平衡就是:平時各有邊界,工作時專注投入,生活時能踏實放松;偶爾需要打破平衡加班時,能有合理的回報來彌補,不讓這種失衡成為常態,這樣才能長久可持續。

(3)你認為自己最大的優勢是什么?這個優勢如何幫助你勝任我們這個崗位?

答:我的核心優勢在于持續學習能力和快速掌握新技術的能力,這在云計算這個技術迭代迅速的領域尤為重要。我能夠高效地消化吸收各類云平臺的技術文檔和最佳實踐,無論是主流云服務商的基礎架構還是新興的云原生技術,都能在短時間內理解其核心原理并上手應用。這種能力使我不僅能夠快速適應企業現有的云技術棧,更能跟進行業發展趨勢,為企業未來的技術升級做好準備。在云計算這個日新月異的領域,我這種持續進化的技術適應力,相比靜態的知識儲備更能創造長期價值。

(4)你認為這份工作能為你帶來什么?你能為公司創造什么價值?

答:這份工作能為我提供寶貴的實戰機會,將我的云計算知識轉化為真正的生產力,同時讓我在專業團隊中快速積累行業經驗。作為新人,我尤其看重貴公司在云計算領域的成熟技術棧和規范流程,這能幫助我建立扎實的技術根基。

而我能為公司帶來的價值是:用快速學習能力迅速填補經驗缺口,以高度執行力完成基礎性技術工作,同時保持對新技術趨勢的敏感度。在團隊中,我會成為可靠的技術執行者,隨著經驗積累逐步承擔更復雜的云架構任務,最終成長為既能踏實運維又懂創新優化的綜合型云技術人才。

3.問答題

(1)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(lst):result = []for i in range(len(lst)):if i == len(lst) - 1:result.append(lst[i] * 2)elif lst[i] < lst[i+1]:result.append(lst[i] + 1)else:result.append(lst[i] - 1)return resultprint(func([5, 3, 7, 2]))

答:運行結果:[4,4,6,4]

主要功能:按規則(相鄰元素比較、最后一個元素加倍)轉換列表元素并返回新列表 。

(2)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(lst):result = []for num in lst:if num % 3 == 0:result.append(num // 3)elif num % 2 == 0:result.append(num * 2)if num > 10:breakelse:result.append(num + 1)return resultprint(func([9, 4, 12, 7, 14]))

答:運行結果:[3, 8, 4, 8, 28]

主要功能:按元素是否被 3/2 整除的規則轉換,且在 “能被 2 整除且>10” 時處理當前元素后終止循環。

(3)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(nums1, m, nums2, n):i = j = k = 0temp = nums1.copy()while i < m and j < n:if temp[i] < nums2[j]:nums1[k] = temp[i]i += 1else:nums1[k] = nums2[j]j += 1k += 1while i < m:nums1[k] = temp[i]i += 1k += 1return nums1nums1 = [1, 3, 5, 0, 0]
m = 3
nums2 = [2, 4]
n = 2
print(func(nums1, m, nums2, n))

答:運行結果:[1, 2, 3, 4, 5]

主要功能:合并兩個有序子數組(nums1m 個、nums2n 個)到 nums1 ,使其整體升序。

(4)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(lst):total = 0for i in range(len(lst)):if i % 2 == 0:total += lst[i]else:total -= lst[i]if total < 0:total = 0return totalprint(func([5, 3, 2, 7, 1]))

答:運行結果:1

主要功能:按索引奇偶交替加減元素值,負數結果重置為 0,最終返回計算總和。

(5)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(lst):evens = []odds = []for num in lst:if num % 2 == 0:evens.append(num)else:odds.append(num)evens.sort()odds.sort(reverse=True)return evens + oddsprint(func([3, 1, 4, 1, 5, 9, 2, 6, 5]))

答:運行結果:[2, 4, 6, 9, 5, 5, 3, 1, 1]

主要功能:奇偶分離后,偶數升序、奇數降序,再拼接輸出。

(6)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(lst):result = []for i in range(len(lst)):current = lst.pop(0)if current % 2 == 0:lst.append(current * 2)else:result.append(current)return result + lstdata = [1, 2, 3, 4, 5]
print(func(data))

答:運行結果:[1, 3, 5, 4, 8]

主要功能:分離列表中的奇數并收集,對偶數翻倍后放回原列表,最終返回奇數列表與處理后偶數列表的拼接結果。

(7)以下代碼運行結果是?并闡述函數func的主要功能是什么?

def func(lst):result = []for i in range(len(lst)):for j in range(i+1, len(lst)):if lst[i] + lst[j] == 10:result.append((lst[i], lst[j]))breakreturn resultprint(func([5, 3, 7, 2, 8]))

答:運行結果:[(3, 7), (2, 8)]

主要功能:提取列表中 “和為 10” 的數對(每個數對僅找第一個匹配,不重復)

(8)編寫程序,反素數

反素數是指一個將其逆向拼寫后也是一個素數的非回文數,例如17和71都是素數但不是回文數,且反轉后依舊是素數

輸出顯示前100個反素數,每行顯示10個

答:

def is_prime(num):if num < 2:return Falsefor i in range(2, int(num ** 0.5) + 1):if num % i == 0:return Falsereturn Truedef is_palindrome(num):return str(num) == str(num)[::-1]count = 0
num = 10
result = []
while count < 100:if not is_palindrome(num) and is_prime(num) and is_prime(int(str(num)[::-1])):result.append(num)count += 1num += 1for i in range(0, 100, 10):print(*result[i:i + 10])

(9)編寫程序,梅森素數

如果一個素數可以寫成2p?12p?1的形式,其中p是某個正整數,那么這個素數就稱作梅森素數

輸出p≤31的所有梅森素數

答:

def is_prime(num):if num < 2:return Falsefor i in range(2, int(num**0.5) + 1):if num % i == 0:return Falsereturn Truefor p in range(1, 32):j = 2**p - 1if is_prime(p) and is_prime(j):print(f"p={p}, 梅森素數={j}")

(10)編寫程序,數列求和

編寫一個函數計算下面的數列:

m(i)=12+23+...+ii+1m(i)=12+23+...+ii+1 m(i)=12+23+...+ii+1m(i)=12+23+...+ii+1 m(i)=12+23+...+ii+1m(i)=12+23+...+ii+1
并輸出測試結果:

i		m(i)
1		0.500
2		1.16
...		
19		16.40
20		17/35

答:

def calculate_m(i):result = 0.0for n in range(1, i + 1):result += n / (n + 1)return resultfor i in range(1, 21):j = calculate_m(i)print(f"{i}\t{j:.3f}")

(11)編寫程序,組合問題

有1、2、3、4這個四個數字,能組成多少個互不相同且無重復數字的三位數?分別又是多少?

答:

result = []
for i in range(1, 5):for j in range(1, 5):if j  ==  i :continuefor k in range(1, 5):if k ==  i  or k == j :continueresult.append( i  * 100 + j  * 10 + k)
print(f"能組成 {len(result)} 個符合條件的三位數,分別是:")
for num in result:print(num, end=" ")

(12)編寫程序,計算e

你可以使用下面的數列近似計算e

e=1+11!+12!+13!+14!+...+1i!e=1+11!+12!+13!+14!+...+1i! e=1+11!+12!+13!+14!+...+1i!e=1+11!+12!+13!+14!+...+1i! e=1+11!+12!+13!+14!+...+1i!e=1+11!+12!+13!+14!+...+1i!
當i越大時,計算結果越近似于e

答:

def factorial(n):result = 1for i in range(1, n + 1):result *= ireturn resulti = 10
e = 1
for n in range(1, i + 1):e += 1 / factorial(n)
print(f"e 的近似值為: {e:.10f}")

(13)編寫程序,完全數

如果一個正整數等于除了它本身之外所有正因子的和,那么這個數稱為完全數

例如 6 = 3 + 2 + 1,28 = 14 + 7 + 4 + 2 + 1

輸入輸出描述

輸入一個正整數

輸出該數是否為完全數

示例1

輸入:

6

輸出:

Yes

示例2

輸入:

9

輸出:

No

答:

num = int(input("請輸入一個正整數:"))
factor_sum = 0
for i in range(1, num):if num % i == 0:factor_sum += i
print("Yes" if factor_sum == num else "No")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89305.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89305.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89305.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Debian 12中利用dpkg命令安裝MariaDB 11.8.2

MariaDB 11.8解決了2038問題&#xff0c;即在32位系統中將timestamp從2038-01-19 03:14:07 UTC擴展到2106-02-07 06:28:15 UTC&#xff0c;向后延長了68年。由于寫此文時Debian 12的源中還沒有MariaDB 11.8,采用源碼編譯又太費時&#xff0c;可用二進制碼或dpkg安裝 .下面簡要記…

Go語言高并發聊天室(三):性能優化與壓力測試

Go語言高并發聊天室&#xff08;三&#xff09;&#xff1a;性能優化與壓力測試 &#x1f3af; 本篇目標 在前兩篇文章中&#xff0c;我們完成了聊天室的基礎功能。本篇將深入性能優化&#xff0c;實現真正的高并發&#xff1a; &#x1f50d; 性能瓶頸分析? 關鍵優化技術&…

【leetcode】852. 山脈數組的封頂索引

文章目錄題目題解1. 遍歷2. 二分查找題目 852. 山脈數組的封頂索引 給定一個長度為 n 的整數 山脈 數組 arr &#xff0c;其中的值遞增到一個 峰值元素 然后遞減。 返回峰值元素的下標。 你必須設計并實現時間復雜度為 O(log(n)) 的解決方案。 示例 1&#xff1a; 輸入&a…

Java期末考試準備

文章目錄Java期末考試準備一、Java的輸入.next()輸入.nextLine()輸入區別補充二、Java的輸出三、類中常寫方法toString()equals()其他四、容器/數組五、繼承六、靜態屬性、方法.七、抽象類八、接口九、初始化模塊十、泛型考完結束語Java學習歷程注:這篇文章本來是寫給同學的&am…

飛算JavaAI進階:重塑Java開發范式的AI革命

引言&#xff1a;當代碼生成進入"自動駕駛"時代 在2025年的Java開發領域&#xff0c;一場由AI驅動的革命正在重塑傳統開發范式。當GitHub Copilot還在通過代碼補全提升效率時&#xff0c;飛算JavaAI已實現從需求分析到完整工程代碼生成的"端到端"閉環。這款…

如何在銀河麒麟桌面系統中啟用 sudo 密碼的星號反饋

引文 我們在銀河麒麟桌面操作系統上使用 sudo 命令時&#xff0c;都遇到過這樣的困擾&#xff1a;輸入密碼時光標一動不動&#xff0c;屏幕上沒有任何提示&#xff08;沒有星號 *&#xff0c;也沒有任何字符&#xff09;&#xff1f;就像在黑暗中摸索鑰匙孔一樣&#xff0c;心里…

二刷 黑馬點評 秒殺優化

優化邏輯 把耗時較短的邏輯判斷放入redsi中&#xff0c;比如庫存是否足夠以及是否一人一單&#xff0c;只要這樣的邏輯完成&#xff0c;就代表一定能下單成功&#xff0c;我們就將結果返回給用戶&#xff0c;然后我們再開一個線程慢慢執行隊列中的信息 問題&#xff1a; 如何快…

HANA SQLScript中的變量類型匯總

在 SAP HANA SQLScript 中&#xff0c;可以使用多種變量類型&#xff0c;包括標量&#xff08;Scalar&#xff09;類型、表類型和結構化類型。以下是各種變量類型的詳細說明和示例。1. 標量變量&#xff08;Scalar Variables&#xff09; 標量變量是用于存儲單個值&#xff08;…

基于 Amazon Nova Sonic 和 MCP 構建語音交互 Agent

1、引言 隨著人工智能技術的飛速發展&#xff0c;自然語言處理和語音交互技術正在深刻改變人機交互的方式。語音交互正從簡單的“機械應答”向更自然的“類人對話”演進 。傳統的語音系統通常采用模塊化架構&#xff0c;將語音處理流程割裂為 ASR&#xff08;自動語音識別&…

項目的存量接口怎么低成本接入MCP?

項目的存量接口怎么低成本接入MCP&#xff1f; 老項目里的一些接口&#xff0c;如何低成本的接入MCP&#xff08;0成本不可能&#xff09;&#xff0c;變成MCP server 的tools&#xff1f; 先拋出這個問題&#xff1f;評論區的xdm如果有懂的&#xff0c;可以打在評論區&#xf…

用圖片生成高保真3D模型!Hi3DGen以法線為橋,為高清三維幾何生成另辟蹊徑

主頁&#xff1a;http://qingkeai.online/ 原文&#xff1a;用圖片生成高保真3D模型&#xff01;Hi3DGen以法線為橋&#xff0c;為高清三維幾何生成另辟蹊徑 隨著從二維圖像構建高保真三維模型的需求日益增長&#xff0c;現有方法由于域間隙的限制以及 RGB 圖像固有的模糊性&a…

Charles抓包工具中文安裝和使用詳解,快速掌握API調試與網絡優化

Charles抓包工具中文安裝和使用詳解 在軟件開發中&#xff0c;調試API請求、捕獲網絡流量以及優化應用性能是開發者日常工作中不可或缺的環節。Charles抓包工具作為業內領先的網絡調試工具&#xff0c;以其功能強大、易用性高、支持HTTPS流量解密等特點&#xff0c;廣泛應用于A…

Java :List,LinkedList,ArrayList

文章目錄List常用方法List集合的遍歷方式ArrayList底層的原理LinkedList底層原理常用方法List常用方法 //1.創建一個ArrayList集合對象&#xff08;有序、有索引、可以重復&#xff09; List<String> list new ArrayList<>(); list.add("蜘蛛精"); list…

LLM面試題及講解 4

LLM面試題及講解 4 目錄 LLM面試題及講解 4 題目講解 一、基礎概念與理論 二、模型訓練與優化 三、應用與實踐 四、前沿研究與趨勢 大型語言模型(LLM)的核心特征是什么? LLM與傳統NLP技術的本質區別是什么? Transformer架構的基本組成部分有哪些?其在LLM中為何重要? BERT…

Harmony-Next鴻蒙實戰開發項目-仿小米商城App----V2

1.、簡介 本項目是Harmony-Next原生開發&#xff0c;真實網絡請求。采用V2等狀態管理裝飾器。包含&#xff08;首頁、分類、發現、購物車、我的、登錄、搜索&#xff0c;搜索結果&#xff0c;商品詳情等&#xff09;.包含V2對接口返回數據的深度監聽。 2、頁面展示&#xff1…

python閉包和裝飾器(超詳解)

目錄 一、閉包的概念 1.概念 2.閉包的特征 3.閉包的作用 二、裝飾器 1.什么是裝飾器 2.裝飾器的作用 1.統計代碼耗時 2.對代碼進行權限檢查 3.記錄日志 3.閉包和裝飾器的關系 4.注意事項&#xff1a; 一、閉包的概念 1.概念 閉包&#xff08;Closure&#xff09;指…

解決hadoop常用到的問題

1.namenode無法啟動問題 報錯1. ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. 原因&#xff1a;不能用 root 用戶直接啟動 Hadoop 的 HDFS 組件&#xff08;NameNode / DataNode / SecondaryNameNode&#xff0…

深度學習G3周:CGAN入門(生成手勢圖像)

&#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 基礎任務&#xff1a; 1.條件生成對抗網絡&#xff08;CGAN&#xff09;的基本原理 2.CGAN是如何實現條件控制的 3.學習本文CGAN代碼&#xff0c;并跑通代碼…

流式數據處理實戰:用狀態機 + scan 優雅過濾 AI 響應中的 `<think>` 標簽

流式數據處理實戰&#xff1a;用狀態機 scan 優雅過濾 AI 響應中的 <think> 標簽 1. 引言&#xff1a;流式數據處理的挑戰 在現代 AI 應用開發中&#xff0c;流式 API&#xff08;如 OpenAI、Claude 等&#xff09;能實時返回分塊數據&#xff0c;提升用戶體驗。但流式…

【實時Linux實戰系列】硬件中斷與實時性

在實時系統中&#xff0c;硬件中斷是系統響應外部事件的關鍵機制之一。硬件中斷允許系統在執行任務時被外部事件打斷&#xff0c;從而快速響應這些事件。然而&#xff0c;中斷處理不當可能會導致系統延遲增加&#xff0c;影響系統的實時性。因此&#xff0c;優化中斷處理對于提…