我的编程空间,编程开发者的网络收藏夹
学习永远不晚

撩课-Python-每天5道面试题-第1

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

撩课-Python-每天5道面试题-第1

一. 尽可能详细的描述出一个应用软件, 比如QQ, 在计算机中运行时涉及的软硬件, 以及说明我们编程的侧重点?

  1. 电脑开机, 从硬盘中(外部存储设备)加载操作系统(系统软件)到内存(内部存储设备), 并运行操作系统
  2. 下载QQ软件(网络请求)到本地电脑磁盘中(外部存储设备), 安装后, 双击运行(加载到内存, 并基于操作系统通过CPU执行程序内的指令)
  3. 通过QQ发送语音或视频: 使用麦克风采集音频或者连同摄像头采集视频(输入设备), 发送给对方(网络请求)
  4. 所以, 基于以上, 我们编程主要指的是根据需求, 使用某一种编程语言, 编写出不同的功能代码(网络请求, 数据处理, GUI界面展示等等), 最后结合各种文档素材(程序图标图片, 音频, 配置文件等等) 组成一个完整的"应用软件"; 打包好相关的执行环境, 供他人运行使用.

二. 尝试解释下, 我们作为开发人员, 在以后的公司实际开发中, 常打交道的部门, 以及打交道的经验?

首先搞清楚, 一个项目开发的部门组成, 大致如下:
(1) 产品经理
负责制定需求, 产品原型图的设计, 和程序员干架等
就是, 咱们做的到底都是啥玩意, 哪些功能要做, 哪些不要做, 比如, 让手机壳随着用户心情变色; 这都是极品产品经理;
还有一个可怕的就是, 像一些小公司, 啥都不懂的老板也会跟着提需求; 和老板合作的其他老板, 也会提一些神奇的建议(谁让别人是甲方呢); 此时, 有节操的产品经理还会反抗, 没节操的, 哎, 都转移给了开发人员... 去做吧, 老板说的, 一句话, 我们开发人员就想着法弄吧
(2) 项目经理(有的兼任开发人员);
根据原型图负责将需求转换成实施步骤, 搭建好基本的项目结构, 并配置好源代码环境; 分配给不同的小弟去做; 还会调度其他部门, 比如美工, 来提供相关素材; 而且, 项目经理会跟进项目开发进度, 就是看着你干活, 每天做的啥玩意; 有的技术难点小弟搞不定, 就得自己上;
(3) 各角色开发人员
职责就是根据分配的需求, 进行代码实现, 简称"码农", "码畜"...
通常除下编写代码外, 还需要背锅
开发大致分为前端和后端, 不管你处于哪一端, 都需要和另外一端人沟通; 比如后端, 需要提供接口, 编写好接口文档; 前端根据接口文档发送请求, 获取和上传数据;
两者之间, 相亲相爱, 一起调Bug, 一起和提出恶意需求的产品干架;
所以, 除下敲代码外, 锻炼好身体也很重要;
(4) 和队友打交道
一般我们开发, 很少一个人独立开发, 根据项目大小不同, 分配的人员也大概在3-5人最为常见; 与他们沟通是最常见的事;
而且一般项目任务划分, 是模块化, 组件化, 或者前后端分离等等方式, 尽可能保证大家都能同步开发, 而互相不干扰; 不然俩人做同一个功能, 那就乱套了;
此时, 最需要注意的问题, 其实是在于代码合并的问题; 也就是源代码管理工具(git/svn); 你可以这么理解, 我们大家写不同功能的代码, 最终肯定要合到一个地方组成一份完整的, 可执行的程序代码;
但因为一个项目代码, 不管怎么划分, 都肯定有一些公共部分代码, 那此时, 大家的对公共部分的代码修改就可能在提交时产生冲突;
此时, 要求我们以下几点:
(1) 修改公共代码时, 说一声;
(2) 每天开始编写代码前, 尽可能先从服务器下载最新代码;
(3) 别乱删别人东西, 也别改别人代码, 让别人自己改; 切记
(4) 没事多写点注释, 不然大家没法沟通, 特别是写SDK的; 不然很容易被打, 虽然每个程序员自己都不想写, 但都要求别人写的;
(5) 尽可能写完一部分代码就提交, 避免产生大量冲突; 而且要先提交, 一旦产生冲突留给队友解决; 你回家吃饭;
(6) 多做测试, 提交正确代码
(7) 测试时, 单独开一个分支(理解为单独一份代码); 别直接在正式项目那份代码中做
(8) 对新人好点好伐? 大家都是这么过来的

三. 作为码农必须了解编程语言的概念, 请阐述

机器语言
- 全部都是由0和1的二进制代码组成, 可以由计算机直接执行, 效率最高;
- 但因为人看不懂, 不好理解, 所以不适合编程使用;
例如
1+1 对应代码如下
0000000000000001 1101100100 0000000000000001

汇编语言
- 使用了一些助记符来代替0和1, 相对来说更好理解一些;
例如
1+1 对应代码如下
mov ax,1
add ax,ax
- 最终还是要转换为机器语言执行, 多了一层转换, 所以效率低于机器语言;
- 通用性依然不强,理解较差,学习曲线大, 编写大型程序繁杂;
- 但因为其效率高, 所以在某些特殊行业中,还是有不少使用;

高级语言
- 接近于人类自然语言的单词和符号来表述低级语言(机器和汇编);
例如
1+1 对应代码就是 1+1
- 可阅读性, 可移植性较高
- 缺点就是效率不如机器语言和汇编语言高;

四. Python语言的简介

  1. 定位
    一门解释型的高级编程语言
    也可以说先编译后解释
    因为没法严格的划定编译和解释的概念
  1. 作者
    Guido van Rossum(吉多·范罗苏姆), 人称“龟叔”
    荷兰人
    1991年初,Python发布了第一个公开发行版
  1. 特点
    简单
    语法简单
    丰富的库支撑
    优雅
    可移植性
    代码规范性
    胶水语言
  1. 应用领域
    Web全栈开发
    图形界面开发
    大数据
    人工智能
    爬虫
    系统网络运维
    云计算系统管理
    ...
  1. Python版本
    目前流行版本两个
    Python2.x
    Python3.x

五. Python程序的执行过程?

Python程序执行过程

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

撩课-Python-每天5道面试题-第1

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

撩课-Python-每天5道面试题-第1

一. 尽可能详细的描述出一个应用软件, 比如QQ, 在计算机中运行时涉及的软硬件, 以及说明我们编程的侧重点?电脑开机, 从硬盘中(外部存储设备)加载操作系统(系统软件)到内存(内部存储设备), 并运行操作系统下载QQ软件(网络请求)到本地
2023-01-30

撩课-Python-每天5道面试题-第9

一. Python程序中, 文件的处理步骤是什么?打开open("文件","模式")读写2.1 读f.read(字节数)字节数默认是文件内容长度下标会自动后移f.readline([limit])读取一行数据limit: 限制的最大字节数f
2023-01-30

撩课-Python-每天5道面试题-第8

一. 解释下什么是闭包? 有怎样的场景作用?概念在函数嵌套的前提下内层函数引用了外层函数的变量(包括参数)外层函数, 又把 内层函数 当做返回值进行返回这个内层函数+所引用的外层变量, 称为 "闭包"标准格式 def test1(a)
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录