2019面试记录
最近面试,挑了一些记得的面试题,作下记录:
1.安卓开发环境部署:
- 安装jdk
- 安装android sdk 【manager】
- 运行 android studio 设置android sdk 位置。重要!
- 新建一个APP 等待 bandle构建项目。
2.安卓开发流程:
- 需求分析
- 界面设计、架构设计、业务逻辑设计
- UI设计
- 安卓开发、前端开发、后端开发
- 移动端、前后端测试
- 发布上线,推送到android应用商店(腾讯的应用宝、百度360的手机助手、小米华为OPPO阿里的应用商店或应用市场)
3.安卓开发基本结束之后还有很多需要流程:
- 多型号真机实测
- 云服务器优化
- APK加密
- 数字签名
- 用户协议
- 应用平台
- 项目上线
- 应用推广和广告插入
- 版本更新和维护
4.jenkins你使用哪些插件?
- ssh remote hosts,这个插件可以在远程服务器上面执行脚本。
- role strategy plugin,用来精细化管理权限
- ...........
5.jenkins怎么备份恢复
只需要拷贝主home下面的 .jenkins打个包,下次要恢复就用这个覆盖,所有的东西就都一模一样了。其实就是配置的东西都在这里面,插件的话有个Plugin的文件夹下面就是所有的插件的东西。
6.jenkins具体流程如下:
- 编写代码,修改代码
- 提交代码到git服务器
- 在jenkins服务器上,新建项目配置git服务器,或者选择已存在的项目,选择任务构建。任务构建成功,就会推送到目标服务器。
- Jenkins自动检测到git服务器代码更新,从git服务器拉取最新代码
- Jenkins自动编译
- Jenkins自动打包项目文件
- Jenkins自动上传打包文件到docker宿主机目录
- Jenkins自动构建web容器镜像,包含项目demo
- Jenkins自动启动镜像,变成容器,映射端口
- 最后就有项目运行的界面提供了
7.怎么使用python多线程和多进程?
8.多线程锁和多进程锁?
9.三种用于避免死锁的技术:
- 加锁顺序(线程按照一定的顺序加锁)
- 加锁时限(线程尝试获取锁的时候加上一定的时限,超过时限则放弃对该锁的请求,并释放自己占有的锁)
- 死锁检测。
10.死锁检测
每当一个线程获得了锁,会在线程和锁相关的数据结构中(map、graph等等)将其记下。除此之外,每当有线程请求锁,也需要记录在这个数据结构中。
当一个线程请求锁失败时,这个线程可以遍历锁的关系图看看是否有死锁发生。
一个可行的做法是释放所有锁,回退,并且等待一段随机的时间后重试。
一个更好的方案是给这些线程设置优先级,让一个(或几个)线程回退,剩下的线程就像没发生死锁一样继续保持着它们需要的锁。
11.tornado和django框架的区别?
12.你们的数据是怎么保存到mongodb的,怎么避免冗余
13.有以下mysql记录
id | A | B | C |
1 | 10 | 20 | |
2 | 10 | 10 | |
3 | 10 | 20 |
1.不使用in,排除重复的记录
2.删除重复记录
14.举例说明pandas的实际使用的项目(pandas在什么场景使用)
15.请说明你使用tensorflow的实际项目
16.redis的数据结构有哪些
17.redis的底层是怎么存储数据的
18.mysql有哪些引擎
19.怎么优化mysql
20.mysql是怎么实现主从复制的
21.防范web攻击有哪些手段
22.怎么知道项目中被注入了其它脚本
23.你使用过什么爬虫框架?遇到过什么困难的问题?
24.说说你知道的反爬虫手段
posted on 2019-06-03 18:17 myworldworld 阅读(81) 评论(0) 收藏 举报