//练习一
/*import java.util.Scanner;
public class IdentifyDemo01 {
public static void main(String[] args) {
//提示用户输入姓名和年龄
//下面一句键盘扫描器 表示创建一个Scanner类型的引用(scanner)
Scanner scanner = new Scanner(System.in);
//输入姓名和年龄
System.out.println("请输入你的姓名");
String name = scanner.next();
System.out.println("请输入你的年龄");
int age = scanner.nextInt();
System.out.println("我叫"+name+",今年"+age+"岁了!");
}
}
*/
//练习二
import java.util.Scanner;
public class IdentifyDemo01 {
public static void main(String[] args) {
//提示用户输入学号和班级和座右铭
//下面一句键盘扫描器 表示创建一个Scanner类型的引用(scanner)
Scanner scanner = new Scanner(System.in);
//输入学号和班级和座右铭
System.out.println("请输入你的学号");
String id = scanner.next();
System.out.println("请输入你的班级");
int grade = scanner.nextInt();
System.out.println("请输入你的座右铭");
String motto = scanner.next();
//motto是座右铭的意思o
System.out.println("我的班级是"+id+",学号是"+grade+","+motto+"是我的座右铭");
}
}
package com.poerator;
public class AddDemo01 {
public static void main(String[] args){
int a = 3;
int b = a++;
System.out. println("b = "+b);
int c = ++a;
System.out. println("c = "+c);
}
}
//使用三目运算符判断用户输入的是正数,负数还是零
import java.util.Scanner;
public class ThreeEyesDemo {
private static int nember;
public static void main(String[] args){
//提示用户输入一个数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数:");
int number = scanner.nextInt();
//使用三目运算符对用户输入的数进行判断
String s = nember > 0?"你输入一个正数" : number == 0?"你输入的是0":"你输入的是一个复数";
System.out.println(s);
}
}
//对输入三位正数进行逆处理
import java.util.Scanner;
public class T1 {
public static void main(String[] args){
System.out.println("请输入三位数:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a>99&&a<1000) {
System.out.print((a % 10));
System.out.print((a % 100) / 10);
System.out.print(a / 100);
}else {
System.out.println("您输入的不是三位数");
}
}
}
//案例
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args){
//提示用户输入年龄
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两个数");
int a = scanner.nextInt();
int b = scanner.nextInt();
if(a >= b){
System.out.println("最大值是:" +a);
}
if(a < b){
System.out.println("最大值是:" +b);
}
}
}
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//提示用户输入俩个数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入俩个数");
int a = scanner.nextInt();
int b = scanner.nextInt();
int max = a;
if (a <= b) {
//对用户输入的俩个数进行判求球最大值
max = b;
}
System.out.println("最大值是:" + max);
}
}
import java.util.Scanner;
//谁类名小写谁是dog
public class IfDemo {
public static void main(String[] args) {
//提示用户输入一个数判断其是否为非负数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数");
int a = scanner.nextInt();
if (a > 0) {
System.out.println("是非负数");
}
else{
System.out.println("不是非负数");
}
}
}
大厂面试笔记节选:(网络摘选)
面试的类型:面试一般分为技术面和hr面。技术面就是考验你的相关技术,hr面就是看你的个人综合素质和家庭状况符不符合公司要求。就算是有面试的技巧,也要基于有足够的专业水平才可以。
技术面的技巧:1.投简历的时候对于自己掌握的相关技能有一个适当的介绍。比如面试的是Java工程师,你就写精通java。了解python,熟悉C语言。这样他问的东西就会有侧重点。
2.在被问到问题的时候要把问题引向自己熟悉的地方:比如问到你说一下DNS寻址,然后你简单回答(甚至这步也可以省略)之后,可以说一句,自己对这块可能不是特别熟悉,对计算机网络中的运输层比较熟悉,如果有具体的,甚至可以再加一句,比如TCP和UDP。
这样的话你可以把整个面试过程往你熟知的地方引导,也能更倾向于体现出你的优势而不是劣势,但是此方法仅限于掌握合适的度,比如有的知识点是必会的,而你想往别处引就有点说不过去了,比如让你说几个Java的关键字,你一个也说不上来,那可能就真的没辙了。
3、在自我介绍中做一个引导:
一般面试的开头都会有一个自我介绍,在这个位置你也可以尽情的为自己的优势方面去引导。
4、面试过程中展示出自信:
面试过程中的态度也要掌握好,不要自卑,也不要傲娇,自信的回答出每个问题,尤其遇到不会的问题,要么做一些引导,实在不能引导也可以先打打擦边球,和面试官交流一下问题,看起来像是没听懂题意,这个过程也可以再自己思考一下,如果觉得这个过程可以免了的话也直接表明一下这个地方不太熟悉或者还没有掌握好,千万不要强行回答。 、
例子:北京天元特通科技
xx招聘app上投递简历,hr联系后面试
当天早上9点半到了后先做一份笔试题,基本都是Java基础,还有网络相关的题目,最后一道io编程题,做到10点半左右
做完后等初面,大概1个小时,到12点
本来是有二面,结果可能是大佬中午去吃饭还是有其他事,hr简单面了下就撤了
面试官问的面试题:
笔试题:选择题基本是Java基础,简答题:软硬件如何实现负载均衡,正向代理跟反向代理是什么,为什么会出现TIME_WAIT,出现大量TIME_WAIT怎么解决
编程题:统计一个文件中指定3个词出现的次数,倒序打印出来
面试题:大概如下
最近遇到的一个难点
Rocketmq为什么io快
mysql聚簇索引
二级索引
新写的sql怎么处理
mvcc机制
cpu100
重构
用过哪些设计模式
netty的reator线程模型流程
限流基于什么配置规则
redis分布式锁
持久化
aof重写流程
是否搭建过redis
分布式锁过期时间如何设置
幂等实现方式
synchronize跟lock区别
美团面试
面试过程:
面试官人很好,先介绍了整个面试流程
先写了一道算法
给一个字符串,求字符串第一个只出现一次的下标 空间复杂度On,时间复杂度On
算法题很简单,但是当时脑抽了一直在想怎么一次遍历做出来,实际上用hashmap两次遍历就OK
算法题写完感觉凉凉,后面问问题刚开始的答题也被算法影响了状态很差、后面倒是调整过来好转了
面试官问的面试题:
有哪些集合类
hashmap是在collection下面的吗 不是 是在map下面
ArrayList和LinkedList的区别
线程安全的集合
copyonwriteList如何保证的线程安全
hashmap底层原理
为什么从头插改为了尾插
concurrenthashmap底层原理
线程六大状态
线程有running这个状态吗 当时答的有 实际没有 Java里是runnable
怎么样变成等待状态
创建线程的方式
为什么推荐使用线程池创建
为什么不推荐使用Executors的静态方法去创建 这个问的其实就是为什么不推荐去创建单例线程池、缓存线程池等那四种,但是当时没听懂Executors的静态方法是什么意思,没答出来
数据库
事务四大特性
原子性怎么实现的
持久性怎么实现的
MVCC实现
redolog和binlog作用和区别
两阶段提交redolog和binlog
索引的底层
为什么要用b+树
索引失效的场景
sql慢查询优化
回表查询
//练习1
import java.util.Scanner;
public class SwitchCaseDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份");
int month = scanner.nextInt();
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 10:
case 12:
System.out.println("当月有31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("当月有30天");
break;
default:
System.out.println("当月有28天");
}
}
}
/*
编程使用if else if else分支结构来计算个人所得税
赫
*/
import java.util.Scanner;
public class Tax {
public static void main(String[] args) {
// 1.提示用户输入个人的薪水并使用变量记录
System.out.println("请输入您的薪水:");
Scanner sc = new Scanner(System.in);
// 局部变量:作用范围是从声明开始一直方法体结束
int salary = sc.nextInt();
// 2.使用if else if else分支结构判断薪水所在的范围并计算对应的个人所得税
// 个人所得税公式: 本月应纳税所得额 * 对应的税率
double salaryPrice = 0.0;
if(salary <= 5000) {
System.out.println("无需纳税!");
}
else if(salary <= 8000) {
// 块变量:作用范围是从声明开始一直到当前语句块结束
salaryPrice = (salary - 5000) * 0.03;
}
else if(salary <= 17000) {
salaryPrice = (salary - 8000) * 0.1 + (8000 - 5000) * 0.03; //第一种方式 按区间乘以税率
}
else if(salary <= 30000) {
salaryPrice = (salary - 17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03; //第一种方式 按区间乘以税率
}
else if(salary <= 40000) {
salaryPrice = (salary - 30000) * 0.25 + (30000-17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03; //第一种方式 按区间乘以税率
}
else if(salary <= 60000) {
salaryPrice = (salary - 40000) * 0.3 + (40000-30000) * 0.25 + (30000-17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03; //第一种方式 按区间乘以税率
}
else if(salary <= 85000) {
salaryPrice = (salary - 60000) * 0.35 + (60000-40000) * 0.3 + (40000-30000) * 0.25 + (30000-17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03; //第一种方式 按区间乘以税率
}
else if(salary >= 85000) {
salaryPrice = (salary - 85000) * 0.45 + (85000-60000) * 0.35 + (60000-40000) * 0.3 + (40000-30000) * 0.25 + (30000-17000) * 0.2 + (17000 - 8000) * 0.1 + (8000 - 5000) * 0.03; //第一种方式 按区间乘以税率
}
System.out.println("最终的个人所得税是:" + salaryPrice);
}
}
后面还有部分课堂记录没有完全跟上,后续看情况会补上,好累。
//案例 public class DoWhileDemo { public static void main(String[] args) { int i = 1; do{ System.out.println(i+""); i++; }while(i <= 0); } }
//案例 /*public class DoubleForDemo01 { public static void main(String[] args){ for(int i =1;i <= 5;i++){ for(intj = 1;j <= i;j++){ System.out.println("*"); } System.out.println(); } } } */
练习一:
/** * 九九乘法表 */ public class DoubleForDemo01 { public static void main(String[] args){ for (int j = 1; j <= 9; j++) { for (int i = 1; i <= j; i++) { System.out.print(i + "*" + j + "=" + (i * j) + "\t"); } System.out.println(); } } }