赞
踩
每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目2-3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了
1)上个杭州的中厂拖了我一周,然后鸽了,一直推流程都不见人,哎,但是还好,没offer之前都是一直投
2)昨天内推线下面的名创优品,给拷打了,什么都答不上来QAQ,给压力烂了,后面朋友说是面试官问题准备得狠了点。
解答思路:
1)学习了正则表达式的使用
用正则表达式来匹配这2种情况就行
位于第一个时,用 ^ 匹配输入字符串的开始位置,即^DIAB1
不是第一个时,又符合前缀所以它属于代码后段的首位,即前面有空格与代码首段隔开,用 \s 匹配一个被视为白空格的空格或字符;
但要注意的是:多数正则表达式实现使用单个反斜杠转义特殊字符,一遍能使用这些字符本身,但是MySQL要求两个反斜杠(MySQL自己解释一个,正则表达式库解释另一个),所以是\sDIAB1
然后这2种情况只要满足一种即可,所以用 |
| 管道符号用于指定匹配字符串时要使用的替代模式;在由竖线分隔的一行模式中,竖线被解释为OR,匹配过程从最左侧的模式开始,在找到第一个匹配项时停止
作者:兔子队列.汤
链接:https://leetcode.cn/problems/patients-with-a-condition/solutions/2166550/mysqlzheng-ze-biao-da-shi-jian-dan-yun-y-pfwq/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- SELECT
- *
- FROM
- PATIENTS
- WHERE
- CONDITIONS REGEXP '^DIAB1|\\sDIAB1';
解答思路:
1)值得注意的是'.'这个字符需要\\来转义
^ 表示以后面的字符为开头
[] 表示括号内任意字符
- 表示连续
* 表示重复前面任意字符任意次数
\ 用来转义后面的特殊字符,以表示字符原本的样子,而不是将其作为特殊字符使用
$ 表示以前面的字符为结尾
作者:LiLi
链接:https://leetcode.cn/problems/find-users-with-valid-e-mails/solutions/514914/xue-xi-liao-zheng-ze-biao-da-shi-yao-yon-hl2c/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- select * from users
- where
- mail REGEXP '^[a-zA-Z][a-zA-Z0-9\_\\.\-]*@leetcode\\.com$'
解答思路:
1)这块思路上其实不难,主要是学到函数的使用以及关键字的使用,group_concat组内结果进行拼接,separator 字符,使用指定字符进行分隔
- select
- sell_date,
- count(distinct product) as num_sold,
- group_concat(
- distinct product
- order by product asc
- separator ','
- )as products
- from Activities
- group by sell_date
- order by sell_date
解答思路:
1)这块思路上其实不难,利用limit就可以查询出第几第几,然后使用ifnull函数来判断,如果为空就输出空
- select
- ifnull(
- (select
- distinct salary
- from Employee
- order by salary desc
- limit 1,1
- ),null
- ) as SecondHighestSalary
解答思路:
1)复习这道题,思路更加清晰了,主要想明白去重,如何去重就好解决了
- class Solution {
- public List<List<Integer>> threeSum(int[] nums) {
- List<List<Integer>> res = new ArrayList<>();
- //题目只是要求我们输出三元组,因此可以对数组进行排序
- Arrays.sort(nums);
- int len = nums.length;
- //遍历
- for(int i = 0;i < len;i++){
- //因为题目要求三元组和为0
- //如果第一个就大于0了
- //那么后面一定不存在符合的三元组
- if(nums[i] > 0){
- return res;
- }
- //思考如何去重
- //比如:-1,-1,0,1这个数组,那么我们遍历到第二个的时候,组合为零的情况
- //只有-1,0,1,跟遍历第一个-1的情况是一致的
- //因此我们要去重的时候,是跟前一个比对
- if(i > 0 && nums[i] == nums[i-1]){
- continue;
- }
- //寻找另外两个
- int left = i + 1;
- int right = len - 1;
- while(left < right){
- int sum = nums[i] + nums[left] + nums[right];
- //如果sum此时已经大于了0,说明我们的right需要往后移动
- if(sum > 0){
- right--;
- }
- //left同理
- else if(sum < 0){
- left++;
- }
- //统计所有的三元组
- else{
- //先将本次的加入集合
- res.add(Arrays.asList(nums[i],nums[left],nums[right]));
- //也要去重,逻辑和前面去重逻辑一样的
- while(right > left && nums[right-1] == nums[right]){
- right--;
- }
- while(right > left && nums[left+1] == nums[left]){
- left++;
- }
- //继续移动指针,进入下一轮比较
- right--;
- left++;
- }
- }
- }
- return res;
- }
- }
解答思路:
1)和三数之和一样的其实,就是外面多加了一层,主要想明白去重,如何去重就好解决了
- class Solution {
- public List<List<Integer>> fourSum(int[] nums, int target) {
- List<List<Integer>> res = new ArrayList<>();
- //和三数之和是一样的道理,再套一层
- int len = nums.length;
- //排序,因为不在乎顺序
- Arrays.sort(nums);
- for(int i = 0;i < len;i++){
- //剪枝
- //如果nums[i]已经大于target,并且是非负数的话,后面怎么加都无法凑成target
- if(nums[i] > 0 && nums[i] > target){
- break;
- }
- //去重
- if(i > 0 && nums[i] == nums[i-1]){
- continue;
- }
- for(int j = i + 1;j < len;j++){
- //一样剪枝
- if(nums[i] + nums[j] > 0 && nums[i] + nums[j] > target){
- break;
- }
- //同理去重
- if(j > i+1 && nums[j] == nums[j-1]){
- continue;
- }
- int left = j + 1;
- int right = len - 1;
- while(right > left){
- long sum = (long) nums[i] + nums[j] + nums[left] + nums[right];
- if (sum > target) {
- right--;
- } else if (sum < target) {
- left++;
- } else {
- res.add(Arrays.asList(nums[i], nums[j], nums[left], nums[right]));
- // 对nums[left]和nums[right]去重
- while (right > left && nums[right] == nums[right - 1]) right--;
- while (right > left && nums[left] == nums[left + 1]) left++;
- left++;
- right--;
- }
- }
- }
- }
- return res;
- }
- }
今天是一家中厂的二面,有几个点没答出来,但是oc了
ArrayList和LinkedList
讲讲HashMap
垃圾回收机制
线程安全
项目背景
执行流程
项目难点
说说redis的缓存击穿,穿透,雪崩
对mysql的了解咋样?
存储过程了解吗
讲讲对事务这块的了解
如何解决可重复读的?
对spring这块了解吗,平时用不用spring的?
IOC和AOP
讲讲依赖注入底层怎么实现的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。