面试技巧
Doctor舒畅
https://github.com/shuchang-wang
展开
-
面试题:看代码写结果
考察本质:String对象、常量池、String.intern()方法的实现原理、for循环执行顺序、逻辑与(&&)等相关内容的考察代码:public class StringTest { public static void main(String[] args) { String str1 = "hello"; String str2 = "hello"; String str3 = "he"+"llo";原创 2021-10-11 14:34:04 · 233 阅读 · 0 评论 -
面试题:回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。示例 4:输原创 2021-09-15 17:42:03 · 381 阅读 · 0 评论 -
面试题:两个按递增顺序排列的整数数组 nums1 和 nums2合并到nums1中,并递增排序,只允许开辟常量空间!!
给你两个按递增顺序排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你合并 nums2 到 nums1 中,使合并后的数组同样按 递增顺序 排列。【只允许开辟常量空间!!!】示例 :输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]解释:需要合并 [1,2,3] 和 [2,5,6] 。合并结果是 [1,2,2,3,5,6] 。方原创 2021-09-14 12:52:59 · 1093 阅读 · 0 评论 -
面试题:使用三个线程,一个线程打印 X,一个线程打印 Y,一个线程打印 Z,按顺序打印X,Y,Z,连续打印10次XYZ
面试题:抛砖引玉方式1:package com.shuchang;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 本题目主要考察线程间通信问题: * 题目描述:使用三个线程,一个线程打印 X,一个线程打印 Y,一个线程打印 Z,按顺序打印X,Y,Z,连续打印10次X原创 2021-09-13 21:46:16 · 211 阅读 · 0 评论 -
MySQL Explain 执行计划详解
在日常工作中,我们会有时会遇到慢查询——执行时间比较久的SQL语句,我们要解决慢查询的问题需按以下步骤进行:首先我们必须先找出这些慢查询SQL语句。 然后使用explain这个命令来查看一个这些SQL语句的执行计划。 分析sql的执行计划(查看该SQL语句有没有使用上了索引,有没有做全表扫描以及如何优化)。(QEP:执行计划Query Execution Plan)mysql> EXPLAIN SELECT * FROM `car`+----+-------------+--------原创 2020-08-11 17:29:09 · 298 阅读 · 0 评论 -
List集合去重与java8去重新特性
一、常规去重碰到List去重的问题,除了遍历去重,我们常常想到利用Set集合不允许重复元素的特点,通过List和Set互转,来去掉重复元素。二、java8的stream写法实现去重package com.alibaba.springboot;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import or原创 2020-08-21 10:55:38 · 724 阅读 · 0 评论