20150610-Python面试

本文详细介绍了前端开发中常见的问题解决方法,包括如何在alert中实现换行、基本的JavaScript运算符使用、发送Ajax请求、定时执行函数、处理字符串、数组去重、表单事件、CSS优先级及布局技巧等。同时提供了Python二分查找实现、Django Context与RequetContext的区别、MySQL存储引擎比较、SNS网站用户消息统计的SQL查询优化策略。

前端

1、如何控制alert中的换行?

alert('你好 \n 哈哈哈');              使用 \n 即可以换行

2、“1”+2+3运算的结果是什么?

输出结果是123

3、JavaScript中如何发送一个Ajax请求?


4、在JavaScript中定时调用foo()如何写?


var timer;

function foo(){
}
timer = setInterval( function ( ) {
foo( );

}, 3000);


5、var a = ’1356‘,如何依次alert出1,3,5,6这几个数字?


6、编写一个方法,去掉一个数组重复的元素?

<script type="text/javascript">
		function unique(arr) {
			var result = [];
			var hash = {};
			for (var i = 0, elem; (elem = arr[i]) != null; i++) {
				if (!hash[elem]) {
					result.push(elem);
					hash[elem] = true;
				}
			}
			return result;
		}
		alert(unique([1,3,2,5,1,2,3]));
</script>


7、哪个事件是在表单元素失去焦点的时候触发?

onblur()

8、如何让一个div隐藏起来,如何再显示出来?


9、css中id和class如何定义?哪个优先级更高?如class定义一个html元素没有边框,而id定义这个元素有边框,结果呢?


10、form中的input有哪些类型?各是做什么处理是用的?input可以设置readonly和disable,请问这两项属性有什么区别?


11、简述CSS选择器


12、完成下面的布局


后台

1、用python实现二分查找

2、Django中Context和RequetContext区别

3、请写出MySQL数据库中MyISAM与InnoDB两种存储引擎的区别

4、第四题


5、有一个SNS网站中,有很多用户。每个用户都会收到很多消息,对这个需求进行抽象,使用如下两个语句创建两个表:

create table user(

id int primary_key not null,

name varchar(100) not null

) engine = InnoDB;


create table message(

id int primary_key not null,

user_id int not null,

foreign key (user_id) references user (id)

engine = InnoDB;


表中有如下数据:

user 表:

+----+---------+

| id  | name |

| 1  |   A     |

| 2  |   B     |

| 3  |   C     |

+----+---------+

message 表:

+----+---------+------+

| id  | user_id| name

| 1  |   1          | A1

| 2  |   1         | A2

| 3  |   1         | A3

|4   |   2         | B1

| 5  |   2         | B2

| 6 |   3          | C1

| 7 |   3          | C2

+----+---------+------+

请写出实现下面业务需求的SQL查询:统计每一个user目前收到的message的总数,按照message的数量降序排序。

SELECT message.user_id,COUNT(2) counts FROM message GROUP BY message.user_id ORDER BY counts DESC

6、上面的业务请求非常频繁,比如用户登陆后,每一个所访问的页面的右上角都要显示当前收到的messag的数量,请问:

(1)不使用统计表,如何利用MySQL自身提供的功能来优化SQL查询;

(2)如果使用统计表,如何确定统计表的更新策略说说你的决策理由



### 关于 OpenCV-Python 面试的常见问题和知识点 #### 安装与配置 OpenCV 是一个跨平台计算机视觉库,能够运行在 Linux、Windows 和 Mac OS 操作系统上。该库轻量级且高效,由一系列 C 函数和少量 C++ 类构成,并提供 Python 接口来实现图像处理和计算机视觉方面的一般算法[^1]。 对于安装过程中的注意事项,在较新的 Python 版本中无需进行复杂的编译工作,这简化了 `opencv-python` 的安装流程[^2]。通常情况下,可以通过 pip 工具轻松完成安装: ```bash pip install opencv-python ``` #### 主要功能模块 了解 OpenCV 的核心组件及其用途非常重要。以下是几个重要的模块: - **imgproc**: 提供各种图像变换操作,如滤波、形态学操作等; - **objdetect**: 实现目标检测的功能,比如 Haar 级联分类器用于面部识别; - **calib3d**: 处理相机校准以及立体几何计算等问题; - **features2d**: 支持特征点提取与匹配等功能; 这些模块构成了 OpenCV 功能的基础框架,熟悉它们有助于更好地理解和应用这个强大的工具集。 #### 图像基本操作 掌握基础的图像读取、显示及保存方法是必要的技能之一。例如,使用如下代码片段可以加载并展示一张图片: ```python import cv2 image = cv2.imread('example.jpg') # 加载图像 cv2.imshow('Image', image) # 显示窗口名为 'Image' 的图像 cv2.waitKey(0) # 等待按键事件 cv2.destroyAllWindows() # 销毁所有创建好的窗口 ``` 此外,还应理解色彩空间转换的概念,因为不同应用场景下可能需要用到不同的颜色模型(RGB, HSV, YUV 等)。例如,将 BGR 转换为灰度图像是常见的预处理步骤: ```python gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) ``` #### 计算机视觉技术的应用场景 实际工作中经常遇到的任务包括但不限于物体跟踪、运动分析、模式识别等领域内的具体案例研究。特别是随着深度学习的发展,结合神经网络来进行更复杂的数据处理已经成为趋势。例如,在人脸识别项目中,不仅限于简单的Haar特征分类器,还可以利用卷积神经网络(CNNs)提高精度和鲁棒性[^5]。 #### 总结 为了成功应对有关 OpenCV-Python 方面的技术面试,建议深入学习上述提到的关键概念和技术细节。同时也要关注最新的行业动态和发展方向,以便能够在讨论新技术时展现出足够的敏锐度和前瞻性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值