Python 【技術面試題和HR面試題】? 循環結構、控制語句及綜合應用問答

1.技術面試題

(1)詳細描述單調棧的工作原理和應用場景
答:
原理
維護棧內元素單調遞增 / 遞減,新元素入棧前,彈出破壞單調性的棧頂,保持單調。
應用場景
排隊比身高,搭積木找最大的空地
(2)詳細描述單調隊列的工作原理和應用場景
答:
原理
隊列內元素單調 遞增 / 遞減,新元素入隊時,移除隊尾破壞單調性的元素;按需(如滑動窗口)移除隊首無效元素,動態維護區間極值。
應用場景
滑動窗口最值(如窗口內最大 / 小值)、數據流實時極值計算。

2.HR面試題

(1)如果競爭對手用雙倍薪資挖你,你會怎么選擇?

答:薪資誘人,但我更看重當下團隊的適配度。要是現在工作順心、有成長,不會為錢盲目跳。當然要是這邊長期不重視員工價值,那也得重新考慮,不過目前優先選留下,畢竟錢之外的東西也重要。

(2)我們覺得你今天表現一般,不符合崗位要求,你有什么想說的?

答:謝謝您可以直接告訴我,今天確實可能因為緊張沒完全展現好,要是能麻煩您具體說說,那些地方和崗位要求有差距,哪怕這次沒機會,這些建議也能幫我下次做得更好。對我來說,搞清楚問題在哪兒,比什么都重要,辛苦您了。

3.選擇題

(1)在Python中,以下哪個不是循環控制語句?
A. break B. continue C. pass D. return

答:D(pass 是占位語句,在循環里可起到空語句的作用)

(2)以下代碼的輸出結果是什么?

for i in range(5):if i == 3:continueprint(i, end=' ')

A. 0 1 2 3 4 B. 0 1 2 4 C. 0 1 2 D. 3

答:B
(3)完成以下代碼,使其能夠打印出1到100之間所有的偶數:

for i in range(1, 101):if ______:print(i, end=' ')

A. i % 2 == 0 B. i % 2 == 1 C. i / 2 == 0 D. i // 2 == 0

答:A
(4)以下代碼有一個錯誤,導致它無法正確計算1到10的和。請選擇正確的修改方案:

sum = 0
i = 1
while i < 10:sum += ii += 1
print(sum)

A. 將i < 10改為i <= 10 B. 將i += 1改為i += 2 C. 將sum += i改為sum = sum + i + 1 D. 將i = 1改為i = 0

答:A

(5)以下代碼的輸出結果是什么?

for i in range(3):for j in range(2):print(f"({i},{j})", end=' ')

A. (0,0) (0,1) (1,0) (1,1) (2,0) (2,1) B. (0,0) (1,0) (2,0) (0,1) (1,1) (2,1) C. (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) D. (0,0) (1,1) (2,2)

答:A

(6)完成以下代碼,使其能夠打印出斐波那契數列的前10個數:

a, b = 0, 1
for _ in range(10):print(a, end=' ')______

A. a, b = b, a + b B. a, b = a + b, b C. a, b = b, a D. a, b = a + 1, b + 1

答:A

(7)以下代碼的輸出結果是什么?

i = 0
while i < 5:i += 1if i == 3:continueprint(i, end=' ')
else:print("Done")

A. 1 2 3 4 5 Done B. 1 2 4 5 Done C. 1 2 4 5 D. 1 2 Done

答:B

(8)以下代碼的輸出結果是什么?

for i in range(1, 5):for j in range(1, 5):if i * j > 10:breakprint(f"{i}*{j}={i*j}", end=" ")print()

A.

1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
3*1=3 3*2=6 3*3=9 3*4=12 
4*1=4 4*2=8 4*3=12 4*4=16 

B.

1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
3*1=3 3*2=6 3*3=9 
4*1=4 4*2=8 

C.

1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
3*1=3 3*2=6 3*3=9 

D.

1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 

答:B

(9)以下代碼的輸出結果是什么?

for i in range(4):for j in range(4):if (i + j) % 2 == 0:print("*", end="")else:print("#", end="")print()

A.

****
####
****
####

B.

*#*#
#*#*
*#*#
#*#*

C.

*#*#
*#*#
*#*#
*#*#

D.

****
****
****
****

答:B

(10)以下代碼的輸出結果是什么?

count = 0
for i in range(1, 5):for j in range(1, 5):for k in range(1, 5):if i != j and j != k and i != k:count += 1
print(count)

A. 24 B. 36 C. 60 D. 64

答:A

4.問答題

(1)Python中有哪幾種基本的循環結構?請簡要說明它們的語法和適用場景。
答:for循環和while循環
for循環

  • 語法:for 變量 in 可迭代對象 :循環體 【for i in range(5): print(i)】

  • 適用場景:已知循環次數,或遍歷次序元素時用
    while循環

  • 語法:while 條件: 循環體 【while num <10 : num+=1】

  • 適用場景:有明顯的循環條件

(2)Python中有哪些循環控制語句?它們各自的作用是什么?請給出示例說明。

答:break循環控制語句和continue循環控制語句
break循環環控制語句
**作用:**用于在循環執行過程中,當滿足一定條件時,可以跳出循環(提前結束)

#示例
for i in range(5):if i == 3:breakprint(i)  # 輸出 0、1、2 

continue循環控制語句
**作用:**用于在循環結構中,當滿足一定條件時可以跳過本次循環,接著下一輪循環。

#示例
for i in range(5):if i == 3:continueprint(i)  # 輸出 0、1、2、4

(3)在Python的for循環中,range()函數扮演著重要角色。請詳細說明range()函數的語法、參數含義和使用方法,并給出至少3個不同用法的示例。
答:
range()函數的語法、參數含義和使用方法

  • range(a)a 為結束邊界,生成 0a- 1 的序列。
  • range(a, b)a 是起始值,b 是結束邊界,生成 ab 的序列,步長默認 1
  • range(a, b, c)a 為步長,控制間隔,生成 b 開始、按 c遞增(c>0)或遞減(c<0)到c - 1 的序列。
# 用法1:一個參數,生成 0-4
for i in range(5):print(i)  
# 用法2:兩個參數,生成 2-5
for i in range(2,6):print(i)  
# 用法3:三個參數,生成 1、3、5、7、9(步長2)
for i in range(1,10,2):print(i)  

(4)什么是嵌套循環?請解釋嵌套循環的工作原理。
答:嵌套循環就是 “循環里套循環”,外層循環每執行一次,內層循環會完整執行一輪
(5)編寫代碼,判斷兩個矩形的關系
題目描述
判斷兩個矩形之間的關系:包含,重疊,相離
image-20250304171517426
輸入輸出描述
輸入兩行,每行四個數據,分別是矩形的中心坐標x、y和矩形的寬、高
輸出兩者的關系
示例1

輸入:

2.5 4 2.5 43

1.5 5 0.5 3

輸出:

包含

示例2

輸入:

1 2 3 5.5

3 4 4.5 5

輸出:

重疊

示例3

輸入:

1 2 3 3

40 45 3 2

輸出:

相離

答:

x1,y1,w1,h1=map(float,input().split(" "))
x2,y2,w2,h2=map(float,input().split(" "))
distance=((x1-x2)**2+(y1-y2)**2)**0.5
if distance+w2/2<=w1/2 and distance+h2/2<=h1/2 or distance+w1/2<=w2/2 and distance+h1/2<=h2/2:print("包含")
elif distance>w1/2+w2/2:print("相離")
else:print("重疊")

(6)編寫代碼,打印如下數字圖案

                        11	2	11	2	4	2	11 	2	4	8	4	2	11	2	4	8	16	8	4	2	11	2	4	8	16	32	16	8	4	2	1
1	2	4	8	16	32	64	32	16	8	4	2	1

答:

for i in range(1,8):for k in range(7-i):print(" ",end=" ")for j in range(i):print(2**j,end=" ")for j in range(i-2,-1,-1):print(2**j,end=" ")print()

(7)編寫代碼,打印如下星星圖案
菱形高度n,并打印出該高度下的菱形

    ****************
*************************

答:

n = 9
for i in range(1, n + 1):for j in range(abs(i - (n + 1) // 2)):print(" ", end="")stars = n - 2 * abs(i - (n + 1) // 2)for k in range(stars):print("*", end="")print()

(8)編寫代碼,求最小公倍數
題目描述
輸入兩個正整數,計算其最小公倍數,例如4和2的最小公倍數是4,3和5的最小公倍數是15
輸入輸出描述
輸入兩個正整數
輸出最小公倍數
示例1

輸入:

3 9

輸出:

9
示例2
輸入:

4 6

輸出:

12

num1,num2=map(int,input().split(" "))
max_num=max(num1,num2)
for i in range(max_num,num1*num2+1):if i % num1==0 and i % num2 ==0:print(i)break

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

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

相關文章

100G系列光模塊產品與應用場景介紹

在當今數字化時代&#xff0c;網絡流量呈爆炸式增長&#xff0c;對數據傳輸速度和帶寬的要求也越來越高。100G 光模塊作為高速數據傳輸的關鍵組件&#xff0c;因其卓越的高速傳輸能力&#xff0c;已成為數據中心、云計算、企業網絡以及 5G 通信網絡等領域的重要組成部分。接下來…

運籌說 第140期 | 從直覺到算法:這些奠基人如何塑造了啟發式方法的科學根基?

運籌說建構知識體系&#xff0c;解析學習要點運 籌 優 化 領 域 教 學 媒 體視頻課程已上線&#xff01;&#xff01;!歡迎大家關注同名抖音和嗶哩嗶哩賬號&#xff01;在人工智能與優化科學的浩瀚星空中&#xff0c;啟發式算法如同一把鑰匙&#xff0c;為人類打開了處…

Flutter編譯安卓應用時遇到的compileDebugJavaWithJavac和compileDebugKotlin版本不匹配的問題

記一次flutter應用&#xff0c;編譯安卓時&#xff0c;報的一個compileDebugJavaWithJavac和compileDebugKotlin版本本匹配的問題。 最終定位的原因是項目一來了audioplayers組件。 audioplayers組件有依賴了audioplayers_android&#xff0c; 它使用1.8編譯的。 版本過低。后來…

linux-權限管理

linux-權限管理一、權限的基本類型二、權限的表示方式1. 字符形式&#xff08;rwx&#xff09;2. 數字形式三、權限管理常用命令1. chmod2. chown3. chgrp四、隱藏權限1. lsattr2. chattr五、權限掩碼六、特別權限位1. suid2. sgid3. Sticky Bit七、權限委托1. 授權用戶2. 授權…

從FCOS3D到PGD:看深度估計如何快速搭建你的3D檢測項目

【導讀】 還記得那個曾經在單目3D目標檢測領域掀起熱潮的 FCOS3D 嗎&#xff1f;在后續更新中他們又推出了全新升級版——PGD&#xff08;Probabilistic and Geometric Depth&#xff09;最有意思的是&#xff0c;這次他們徹底換了路線&#xff1a;從原先的“直接回歸深度”&a…

Apache Cloudberry 向量化實踐(三)重塑表達式構建路徑:Gandiva 優化實戰

在向量化執行系統中&#xff0c;表達式構建是不可或缺的基礎環節。無論是 SQL 中的投影、篩選&#xff0c;還是分區、聚合、排序&#xff0c;最終都需轉化為底層執行引擎能識別和執行的表達式樹。而在 Apache Cloudberry 向量化執行框架中&#xff0c;這一過程由 Gandiva 表達式…

Windows刪除文件或者拔出U盤顯示正在使用/占用解決辦法

1、復制文件地址2、打開任務管理器&#xff0c;選擇左側【性能】3、打開資源監視器4、選擇資源監視器中的CPU5、粘貼你復制的占用文件地址6、除了explore.exe以外&#xff0c;其他的關聯的句柄都選中&#xff0c;然后右鍵結束

自由學習記錄(68)

&#x1f9e0; blender為什么不用 M 或 T&#xff1f; 鍵位含義為什么沒選MMove&#xff1f;其實被用作「Move to Collection」等功能不符合歷史定義&#xff0c;而且功能太多了TTransform&#xff1f; 但 transform 是一個總稱&#xff08;含移動、旋轉、縮放&#xff09;T 被…

ReactNative【實戰系列教程】我的小紅書 8 -- 我(含左側彈窗菜單,右下角圖標等)

最終效果點左上角菜單按鈕&#xff0c;彈出左側菜單后代碼實現app/(tabs)/mine.tsx import icon_add from "/assets/icons/icon_add.png"; import mine_bg from "/assets/images/mine_bg.png"; import Heart from "/components/Heart"; import a…

C++性能優化實戰:從理論到落地的五大核心策略

在當今這個對計算效率要求極高的時代&#xff0c;C作為系統級編程語言的王者&#xff0c;其性能優化能力依然是無可替代的核心競爭力。本文將分享我在大型分布式系統開發中積累的C性能優化實戰經驗&#xff0c;這些經驗幫助我們將關鍵組件的吞吐量提升了300%&#xff0c;延遲降…

字節 Seed 團隊聯合清華大學智能產業研究院開源 MemAgent: 基于多輪對話強化學習記憶代理的長文本大語言模型重構

&#x1f525; 最新動態!!! [2025/07] 我們提供了快速啟動腳本&#xff0c;讓使用MemAgent變得超級簡單&#xff0c;詳情請見下方"快速入門"部分。[2025/06] 我們發布了RL-MemAgent-14B和RL-MemAgent-7B模型&#xff0c;在350萬token上下文任務中實現了近乎無損的性…

【unitrix】 4.20 類型級二進制數減法實現解析(sub.rs)

一、源碼 這段代碼實現了一個用于統計二進制補碼整數位數的系統&#xff0c;支持多種自定義數值類型&#xff08;Z0、P1、N1、B0、B1&#xff09;。 use core::mem::size_of; use crate::number::{Z0, P1, N1, B0, B1, Var};/// 統計二進制位數的 trait pub trait BitLength {f…

手把手教你安全刪除Anaconda虛擬環境(避坑指南)

文章目錄一、刪除前必看清單&#xff08;超級重要&#xff09;二、三種刪除方法對比&#xff08;建議收藏&#xff09;方法1&#xff1a;官方推薦命令&#xff08;最安全&#xff09;方法2&#xff1a;暴力刪除大法&#xff08;快速但需謹慎&#xff09;方法3&#xff1a;核彈級…

Effective Modern C++ 條款7:區分使用 `()` 和 `{}` 創建對象

在 C11 及以后的版本中&#xff0c;初始化對象的方式變得更加靈活&#xff0c;但也帶來了選擇上的困惑。() 和 {} 是兩種常見的初始化語法&#xff0c;它們在語義、行為和適用場景上有顯著差異。本文將通過具體示例&#xff0c;深入解析這兩種初始化方式的區別&#xff0c;并探…

Java基礎-String常用的方法

String常用的三種構造方法 public static void main(String[] args) {//1.使用常量字符串構造String s1 "1.Hello world";System.out.println(s1);//2.使用new關鍵字構造String s2 new String("2.Hello world");System.out.println(s2);//3。使用字符數組…

數學建模:多目標規劃:ε約束法、 理想點法

一、ε約束法定義ε約束法通過將部分目標函數轉化為約束條件&#xff0c;保留一個主要目標進行優化。1、選擇一個主要目標 fk?(x) 進行優化。2、其他目標 fi?(x) 轉化為約束 fi?(x)≤εi?&#xff0c;其中 εi? 是決策者設定的容許閾值。??原理????目標選擇??&…

linux kernel struct regmap_config結構詳解

在 Linux 內核中&#xff0c;struct regmap_config 是 ?Regmap 子系統的核心配置結構體&#xff0c;用于定義如何與底層硬件寄存器進行交互。Regmap&#xff08;Register Map&#xff09;子系統通過抽象不同總線&#xff08;如 I2C、SPI、MMIO 等&#xff09;的寄存器訪問細節…

【Python3教程】Python3高級篇之CGI編程

博主介紹:?全網粉絲23W+,CSDN博客專家、Java領域優質創作者,掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域? 技術范圍:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大數據、物聯網、機器學習等設計與開發。 感興趣的可…

docker安裝Consul筆記

安裝過程 詳細步驟如下&#xff1a; 首先拉取Consul的Docker鏡像&#xff1a; docker pull hashicorp/consul:1.18.1創建Consul的配置文件和數據目錄&#xff1a; mkdir -p /srv/docker/consul/data mkdir -p /srv/docker/consul/config在config目錄下創建一個config.json配置文…

.net數據脫敏

.NET數據脫敏技術&#xff1a;保障數據安全的有效手段 在當今數字化時代&#xff0c;數據安全至關重要。尤其是涉及到用戶的敏感信息&#xff0c;如密碼、手機號碼等&#xff0c;必須采取有效的措施進行保護。數據脫敏就是這樣一種技術&#xff0c;它能夠在不影響數據可用性的…