华资软件的面试分为三场吧一天面完。
第一场笔试:
智力题
笔试题:
spring
排序稳定性
mysql基本语句
加分题:
软件设计的相关问题(这个看的我很懵啊);
算法:求1-1000之间的数位质数对的和,输入: 10 输出:(3+7),(5+5)
第二场hr面:
大学的一些课程,问了两遍会不会数据库调优,薪资要求,个人兴趣爱好,舍友的评价,平时生活,来这里多久
第三场技术面:
(主要是问的是下面的我写的技能方面,而不是项目经历。)
linux下用户组、文件权限
-
useradd 和 usermod 的操作命令
-d 目录指定的目录 -c comment 注释描述 -g 用户组 制定用户所在的组 -G 用户组,用户组指定用户所属的附加组 -s shell文件 指定用户登录shell -u 用户号
-
passwd的操作命令
-l 锁定口令 -u 口令解锁 -d 使账号无口令 -f 强迫用户下次登陆时修改口令
-
用户命令
添加 useradd handle(操作) name 删除 userdel -r name 修改 usermod handle(操作) name 用户口令管理 passwd handle(操作)用户名
-
组命令
添加组 groupadd handle(操作) name 删除组 groupdel name 密码命令
-
passwd handle(操作) 用户名
-
文件权限(读写操作)
查看权限:ls - l (filename) 权限 rwx读写操作 - 没有权限 -rw-r--r-- root root 483997 jul 15 17:31 sobsrc.tgz (三个为一组 普通文件 文件主 文件组 其他用户)root :用户; root :组 ;文件大小:483997; 日期; 文件名:sobsrc.tgz;
介绍一下spring
-
spring 是企业级的开源开发框架,主要应用于java应用的开发和web的开发,目的是简化java应用开发的难度
-
spring有七大主要的模块
1. spring core : 核心类库,提供ioc服务 2. spring context:提供框架式的bean 的访问方法,以及企业级的功能 3. spring aop:提供aop 4. spring dao: 提供jdbc的抽象支持 5. spring orm: 提供对象/映射 api的支持 6. spring web:spring提供了基本web的综合特性,例如多文件的上传 7. spring mvc: spring 提供了model view controller 的实现
spring IOC、依赖注入、AOP
-
IOC控制反转
1. IOC主要实现对对象的生成、控制和管理生命周期,对象的装配和配置。简单的来说就是对象的控制权由容器来决定 2. 优点:解耦,有利于功能的复用 3. 特点:利用了反射机制
-
依赖注入DI
1. 依赖注入是控制反转的一种体现,通过控制反转,由一个容器将对象的实体和所依赖的对象的引用传递给他(将容器内的引用传递给外部的实体) 2. 注入的方法:(三种)接口注入、setter注入、构造器注入。setter注入和构造器注入的区别,构造器传参强制注入
-
aop 面向切面
1. 对一个方法可以进行前置或者后置的操作,主要用于应用服务逻辑和系统服务的隔离 2. 代理模式:静态代理和动态代理。静态代理的代表为AspectJ;动态代理的代表为spring aop 3. AspectJ 为静态代理的增强,所谓静态代理,就是aop框架在编译阶段生成aop代理类,指的是在编译阶段将aspect织入java字节码中,运行时候增强之后的aop对象 4. spring aop为动态代理,aop不修改字节码,每次运行的时候生成一个aop对象,这个aop对象包含了目标对象的所有方法,并且在特定的切点做了增强处理,并调回对象的方法
讲述一下ssm中的第二个s
- mvc :model(数据层)view(视图) controller(控制层)
Collection中的实现类和接口
-
collection 接口,List接口(collections 是这个 abstract 类)
-
collection list : arraylist linkedlist (abstractlist)vector(abstractlist) ,stack
1. arraylist 和 linkedlist 的区别 数组实现和链表实现,查找O(1) 和O(n),删除和添加 O(n)和O(1) 2. arraylist 和 vector的区别 线程安全和不安全。vector 加了方法体 synchronized 锁,所以arraylist快一点
-
collection set : HashSet ,TreeSet
1. HashSet 的key不可以为null ,value 最多一个为null,key不重复,Set 自定义的类不同实例对象的hashcode可能相等,所以需要重写hashcode 一般是该类定义一个key然后使用一定的规律 2. TreeSet 是排序的红黑树的算法
HashMap(map) 和 Hashtable 的区别(dictionary)
-
速度
1. hashmap 线程不安全 hashtable 使用synchronized锁住函数
-
初始容量
1. hashmap 初始容量为16 hashtable 为12
-
key 和 value
1. hashmap key和value可以为null hashtable 不可以
-
迭代器
1. hashmap iterator hashtable enumrator
讲述一下快速排序的思路
直接写给他看吧
设计模式
-
单例模式
1. 饿汉模式 2. 懒汉模式 3. 锁 4. 枚举
-
观察者模式
-
工厂模式
-
策略模式
-
建造者模式
-
代理模式
-
装饰者模式
面试后你还有什么是要问的吗?我问了我今后要怎么学习。然后面试官说了一些他个人的想法大概意思是女生不适合做这行吧。面试官很好,还跟我说了很多面试的技巧什么的,人很好啦。
几天后收到消息,hr说我做程序员有点难度,但是想让我当实施工程师,询问我的意愿。然后当然是拒绝的啦,虽然是菜鸡但是还是很想努力一把的啦。