从大四上学期的11月份决定从事软件行业,作为一个在大学纯属玩票过了虚度掉不少时间的人来说,是一件很励志的事情。毕竟褪去大学的外衣后,我们剩下的就是我们在社会中的起点。即便不知道它是否适合,即便是迷茫,但一定要在路上!
原本要写上一大段的自学的感触,那些感触到现在来说就是:学东西不能急!没弄明白的东西,你迟早要还!
今天已经是面试的第6家公司了,怀揣着一个求职求学的心是无罪的,但却要反思自己当前的状态,不能为了找工作而找工作。整理一下今天面试,机试,笔试的一些点。
(1)机试部分
输出一个菱形图片,(当时就想一个巴掌拍死自己,因为我不会!脸火辣辣的呀!)就写了一个直角山角形!
既然当时不会,现在就到还账的时候了,脸丢一次就可以了!下次能够还他各种样式的彩色空心菱形,也算是把丢的脸捡起来:
for语句:
for(表达式1;表达式2;表达式3){ 语句}
要明白语句的执行顺序:表达式1执行–>表达式2执行《判断结果》
结果<1> true—->语句—–>表达式3—>表达式2执行《判断》知道为false
结果<2> false—->结束
然后再看图:
这里单单只是打印菱形的代码
从直角三角形一点翻转过渡打印
(2)笔试部分有涉及到Mysql<笔试必考内容>,js,jQuery也有考到,单例设计模式,冒泡排序法<我也不会,直接仆街了!>
先从简单的单例设计模式开始:
饿汉式:
class singleDemon{
private singleDemon(){}; //私有化构造函数
private singleDemon s=new singleDemon();
//静态工厂的方法
public static singleDemon getSingleDemon(){
return s;
}
}
懒汉式:
class singleDemo{
private singleDemo(){}; //私有化构造函数
private singleDemo s=null;
//静态工厂的方法
public static singleDemon getSigleDemon(){
if(s==null){
synchronized(single.class){
if(s==null){
s=new singleDemon();
}
}
}
return s;
}
}
冒泡排序法:最重要的思想是两两比较,将两者较少的升上去,要和传统的比较方法进行区分,传统的比较方式是:固定了一个位置后,对其它位进行比较,进行位置的替换,有一定局限性。假如较小的数都在数组后,效率更低,要进行频繁调用位置交换的方法;
public class maoPaoSortUtils {
public static void rank(int[] s){
//结束标签的设立
boolean flag=true;
//外围循环
for (int i = 0; i < s.length && flag; i++) {
flag=false;
for (int j = s.length-1; j >i ; j--) {
if (s[j] < s[j-1]) {
//调用交换
swapWay(s[j], s[j-1]);
flag=true;
}
}
}
//调用打印
printArray(s);
}
//数值的交换方法
private static void swapWay(int a,int b){
int temp;
temp = a;
a = b;
b = temp;
}
//数组的打印方法
private static void printArray(int[] s){
System.out.print("[");
for (int i : s) {
System.out.print(i+" ");
}
System.out.println("]");
}
}
但是冒泡排序也有着一定的局限性,往往不知道何时结束,不在优化之前,往往要将外围的循环结束后,算法才会结束;因此在外围循环中添加一个flag标记是很有必要的;
觉得自己没有天赋!就要多些坚持!