最新产品经理必懂的技术那点事儿(中),mybatis面试问题

总结

无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

面试了阿里,滴滴,网易,蚂蚁,最终有幸去了网易【面试题分享】

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

2:关系型数据库:指一种基于关系模型的数据库,关系模型折射出现实世界中的实体关系,将现实世界中各种实体及实体之间的关系通过关系模型表达出来.

实体 A 具有三个属性,实体 B 具有三个属性,他们之间以某一种关系关联起来,这种关系可以是一对一的,也可以是一对多的或者多对多的。主流的关系型数据库有 MySQL、Oracle、DB2 等,在只能手机中使用的小型轻量级数据库 SQLite 也是一种关系型数据库

3:数据库表和表的关系:在关系型数据库中可以通过数据库表和表之间的关系来具象表示这种模型,表就是我们常用的二维表格,有表的名字,表的各项标题名。在数据库中,表名和属性名只能用英文命名,表与表之间可以通过关系来链接,如果两个表之间有对应关系,在两个表中就有对应的属性项来标识这个关系

4:数据库字段和字段类型:在定义一个数据库表的时候,我们需要定义表名、字段名及字段的字符型,这样一个数据库表就定义清楚了,我们就可以按照定义好的表结构往里面存储数据,为了更简洁而且分类更明确的表达数据库表,我们可以通过关联关系将不同的实体进行连接.

5:数据库操作语言 SQL

SQL 即 Structured Query Language 结构化查询语言,是一种用来操作关系型数据库的编程语言,可以理解为对数据库的操作命令

创建一个“people”表,SQL 语句为:create table people (peopleID varchar(30)primary key,name varchar(50)),这条语句创建了一个名为 people 的表,表里有 peopleID和 name 两个字段,并且通过关键词 primary key 指明字段 peopleID 为主键,字段后面 varchar(30)也是一个关键词,在数据库中表示字符型,括号里面的数字表示字符型数据的最大长度是多少字符.

6:非关系型数据库:非关系型数据库是一种相对松散且可以不按照严格的结构规范进行存储的数据库。非关系型数据库一般叫做 NoSQL(Not Only SQL),非关系型数据库没有关系型数据库那样严格的数据结构约束,在存储的形式和使用上有别于关系型数据库。现在主流的非关系型数据库有 MongoDB 和 CouthDB。以 MongoDB 为例,它是一种典型的非关系型数据库,数据以类似文档的方式进行存储,每一个文档都有对应的唯一标识和版本号我们用键值对的方式表示和存储数据,键值对就是“key-value”的形式,类似在关系型数据库中的字段名和该字段名对应的值。非关系型数据库适合在一些对存取要求比较高且并发处理比较高的场合,例如对网站访问数据的统计。非关系型数据库处在不断发展的过程中,现阶段与关系型数据库形成一种互补的局势,在很多产品后台,同时使用关系型数据库和非关系型数据库。

五:客户端技术知识:

1.常用客户端技术客户端:普通用户使用的终端,用户通过客户端接触使用产品。

H5:HTMl 5 具有跨平台使用的特性,但体验上无法达到本地应用的水平。 Android 系统:基于 Linux 开发,主要运用在智能手机或平板电脑上,具有开源特性 iOS 系统:闭源系统,主要应用在苹果相应的硬件上,开发语言是 Objective-C,目前,也可以用 Swift Web 网页:是一门相对成熟的技术,可以跨平台使用,比如公众号文章的实现,通常也叫 H5 页面

2:Android 基本技术及控件:每个界面上有各种按钮、输入框、文本框、列表、以及一些操作对象构成这些元素结合在一起为我们提供产品使用的交互介质,这些元素在技术上称为“控件”。例如一个按钮是一个控件,一个输入框也是一个控件

View:即视图的意思,表示在屏幕上展示的一个可视化控件,是安卓系统所有控件的根。也就是说,所有安卓空间都是基于 View 扩展开来的,可以把 View 理解成所有系统空间的祖先,其他(例如,按钮 Button 和文本展示框 TextView)都是继承View,在具备了 View 的一些基本属性的同时还扩展了属于自己的属性。

Button:Button 是安卓系统默认提供的按钮控件,我们在使用产品中所有可点击的部分都是按钮,对于按钮的形状和外观可以进行自定义设置,还可以设置按钮点击事件,所谓点击事件就是当我们点击某个按钮的时这个按钮会出发什么操作

dp:独立于设备像素的单位,也可以叫 dip,他与像素密度有关

像素密度:每英寸像素数量,单位是 dpi。

安卓系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi)他们对应的 dp 到 px 系数分别为 0.75、1、1.5、2,这个系数乘 dp 长度就是像素数。Px=系数*dp

Sp:是与缩放无关的抽象像素,一般用于文字大小的单位

TextView:文本展示框,也需要制定高度和宽度,宽高实际上狂顶出文本的范围,同时,还需要定制文本内容的字体大小和颜色等

EditText:文本输入框,也就是我们在产品中输入内容的控件与文本展示框不同的是,他可以进行内容的输入,而且对于输入的内容可以进行类型控制,如明暗文限制,号码输入时限制数字和长度。它还有个属性叫做“hint”,我们在使用文本输入框时,输入框内部往往有提示语句,如“请输入用户名”之类的,当我们触发输入框的时候,提示语句就消失了。通过设置 EditText 可以得到很多个性化的定制

ImageView:ImageView 是图片展示控件,一般也是一个矩形区域,但我们一般都隐藏,所以我们在产品上看到的都是各式各样

ListView:安卓里面列表控件。比如微信里面的联系人会话列表,淘宝浏览商品时的商品列表,以及使用通讯录的联系人列表。ListView 有一个很重要的组成部分,就是每一行展示的条目内容,根据产品内容的不同,条目展示的格式和内容都所有不同,例如,微信联系人会话列表条目,左边是头像,头像右边分别按照一定的布局方式显示名称、聊天内容缩略及更新时间。在安卓系统中 ListViw 是一种容器性控件,可以在它里面放其他控件,如 ImageView 和 TextView。其他控件是不能进行嵌套布局的,如我们不能将 TextView 放在 ImageView 中(但 IOS 中是可以的)

GridView:GridView 和 ListView 类似,也是一种容器控件,区别在于 ListView 以列表的方式展示,而它是以表格的方式展示。比如支付宝的首页,展示了多个入口,每一个入口对应着相应的产品模块

3:Android 界面布局原理

线性布局:空间依次由上到下的布局方式,简单的说就是按照顺序从左至右或者从上至下依次在界面上排列控件,线性布局支持横向和纵向两种方式。标记位置以一个控件上底边与上一个控件的下底边进行标记

相对布局:指定控件与其他控件的相对位置,所谓相对位置就是以某一控件为参考基础,与其他控件的相对位置。比如,可全是用用户输入框来进行参考

4:安卓系统的控制权限安卓系统有专门的权限管理机制,应用访问用户隐私或者获取一些系统权限时需要取得用户的授权后才能使用。

5:安卓系统应用打包及发布安卓应用开发完成后,需要被打包一个扩展名为“apk”的文件,类似于 windows 系统中的“.exe”安装文件。打包安装文件时,我们需要使用一个特殊的签名文件为这个安装包文件进行签名,签名的目的是保证这个应用安装包的唯一性和安全性。由于安卓市场碎片化,每次发布要更新很多应用市场,在发布安卓应用时,我们需要标记当前所发布的版本的版本号,这个版本号和我们在产品里看到版本号不是一样的,这是给别人用户识别的,工作人员的版本号是以自然数标记并给计数机增加,这样就可以区分市场上的新老版本。例如,我们可以标记安装包 1 是给腾讯应用宝市场的,安装包 2 是给小米应用市场的,通过渠道标记来源,我们可以统计安装渠道,从而知道每个应用市场的安装量,同时还可以统计出有问题的版本来自那个应用市场这样就可以更加精确地定位问题

6:安卓多屏幕适配同一个产品会因为不同产品的分辨率而看起来不同,为了解决界面适配的问题,安卓提供了一种使用可拉伸图片作为界面素材的解决方案,这种图片是以扩展名“.9.png”结尾的图像文件们通常叫做”点九图”。点九图分为图片画布、黑点、图片。最外侧的矩形框就是一张画布,内侧有一个图像内容,外侧和内测图片之间隔了一个 1px 像素的距离,背景图片的四条边,我们用欸色像素来标记,表示拉伸区域,要进行拉伸则只会对黑点所标记的相应区域进行复制,从而实现拉伸的效果。点九图配合相对布局就可以解决大部分的屏幕适配问题

7:iOS 基础技术及基本控件:与安卓类似,iOS 中也有许多系统控件其基本表现形式类似,只是叫法不同

UIView:和安卓系统里面的 View 类似,其他控件都是基于 UIView 继承扩展而来,UIView在 iOS 系统中是通过坐标的长宽表示的矩形图形,我们可以指定 UIView 的背景颜色或者矩形的圆角。与安卓系统不同的是:在 iOS 系统中可以实现 UIview 的相互嵌套,也就是说我们可以在 UIView 里面再放一个 UIView,但是在安卓系统中,我们不能再一个TextView 里面再放一个 TextView,这是两者的差异。在 iOS 系统中每个控件在屏幕中都通过坐标轴定位到具体位置,但这个坐标的范围不是根据物理分辨率的像素点去标记,而是通过逻辑像素去标记,所谓逻辑像素就是不管屏幕尺寸,只需要按照固定的逻辑像素定位坐标轴中控件的位置

UIButton:与安卓系统里面的 Button 类似,但不同的是 UView 中间可以镶嵌其他控件

UILabel:文本展示控件,与安卓上的 TextView 类似。在屏幕上布局一个 UILabel 时需要制定控件所处的坐标轴位置,以及控件高度和宽度

UITextField:文本输入控件,对应安卓上的 EditText,安卓中通过“hint”属性来表示文本提示信息,在 iOS 中叫做”placeholder” UIImageView:图片展示控件,类似于安卓中的 ImageView。在 iOS 系统中 UIImageView可以对图片进行展示和一些基本处理,例如对图片进行圆角处理,可以使用系统的一些滤镜功能对图片进行特殊处理。在 iOS 中所有的界面控件开头都使用“UI”开头,UI 的意思是 User Interface,代表用户接口。

UITableView:和安卓系统中的 ListView 类似,用来表示列表型控件,也是一种容器类控件,但 UITableView 在自带功能上更强大,所谓自带功能是指系统已经实现的,不需要另外开发的功能,使用时直接拿来用即可。

总结

阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了

image

1、JAVA面试核心知识整理(PDF):包含JVMJAVA集合JAVA多线程并发,JAVA基础,Spring原理微服务,Netty与RPC,网络,日志,ZookeeperKafkaRabbitMQ,Hbase,MongoDB,Cassandra,设计模式负载均衡数据库一致性哈希JAVA算法数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。

image

2、Redis学习笔记及学习思维脑图

image

3、数据面试必备20题+数据库性能优化的21个最佳实践

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值