参考 前端进阶面试题详细解答react-router4的核心路由变成了组件分散到各个页面,不需要配置 比如<link> <route></route>React 16中新生命周期有哪些关于 React16 /> </React.Fragement> ); }}父组件重新渲染只要父组件重新渲染了,即使传入子组件的 props 未发生变化,那么子组件也会重新渲染,进而触发 render(2) Create React App 项目直接创建一个具有 typescript 的 Create React App 项目: npx create-react-app demo --typescript(2) '/getData', getInitTodoItemAction) // 发送函数类型的action时,该action的函数体会自动执行 store.dispatch(action)}(2)
CSS 并不是面试重点考察的领域,但如果能在 CSS 领域有自己的见解和经验,会使自己更加脱颖而出。 1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 之前写三角形, 都是直接记住代码,没有探究原因,我也是直到有一次面试时,面试大哥让我说说css创建三角形的原理,我就......回来就赶紧翻资料.接下来我就将当时我理解的过程列举出来: (1) 写一个我们最熟悉的 width:0px; height:0px; border: 50px solid transparent; border-left:50px solid #ef4848; } 这样给面试你的人讲 在这层编译之上,便可以赋予 CSS 更多更强大的功能,常用功能: 嵌套 变量 循环语句 条件语句 自动前缀 单位转换 mixin复用 面试中一般不会重点考察该点,一般介绍下自己在实战项目中的经验即可 解释一下这2个伪元素的作用 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。 ::before就是以一个子元素的存在,定义在元素主体内容之前的一个伪元素。
[] args){ MyThread t = new MyThread(); t.start(); } } 2. 创建3线程 1 打印 123,2 打印 456, 3 打印 789 public ThreadTask { // 打印序号 private int no = 1; / )); ObjectInputStream oi = new ObjectInputStream(bi); return oi.readObject(); } 2. System.currentTimeMillis(); 4.将文本中的字符排序后加入到另一个文本中 /** 1.已知s.txt文件中有一个字符串“ndjdnsnakdapiiisnjvmsdsiajdsailn”; 2.
前言 又到了一年一度的面试高峰期,想当年这会,博主也是疯狂的投简历,可能是运气比较好,一面即过,哈哈哈哈,在这里,给大家总结一下,面试互联网公司必会的一些技能,这里只针对刚毕业的小伙伴,高手勿喷。 需掌握 1、增删改查 2、建库建表 3、数据库的导入以及备份 4、表的左右内链接查询等 5、分页,排序(mysql和oracle的分页是不一样的! 所以redis为必备技能一定要学会使用。 Nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。 这个不难,找个教程看看就好了 Linux Linux必备技能。这个作为web开发人员不会linux那就说不过去了,常用的linux命令必须要会,还要学会在linux环境下熟练的搭建web环境。 学会以上实习生面试基本就没什么问题了,博主目前在做的项目,用到的技能无非也就是上面总结的
= "obj2"; public static void main(String[] args) { LockA la = new LockA(); new Thread( obj1"); Thread.sleep(3000); // 此处等待是给B能锁住机会 synchronized (LockTest.obj2) { System.out.println(new Date().toString() + " LockA 锁住 obj2"); this.list = list; } } 生产者与消费者模式在 Handler 中的体现 Android MessageQueue源码分析 Handler机制与生产者消费者模式 ---- 面试常见问题 2、用户线程和守护线程有什么区别? 当我们在Java程序中创建一个线程,它就被称为用户线程。一个守护线程是在后台执行并且不会阻止JVM终止的线程。当没有用户线程在运行的时候,JVM关闭程序并且退出。
2. Hive中存放是什么? Hive存储的是逻辑上的数据仓库信息,包括表的定义、数据的存储位置(HDFS路径)、分区和表的元数据等。 sales_amount, ROW_NUMBER() OVER(PARTITION BY department_id ORDER BY sales_amount DESC) as rank FROM sales; 2. 2. SQL语句调节 选择均匀分布的Key进行Join:在进行Join操作时,选择分布较为均匀的字段作为Join Key,减少数据倾斜。 创建语句的区别 创建内部表的语句: CREATE TABLE internal_table (column1 INT, column2 STRING) STORED AS TEXTFILE; 创建外部表的语句 : CREATE EXTERNAL TABLE external_table (column1 INT, column2 STRING) LOCATION 'hdfs://path/to/data/'
Hive SQL的优化也是我们必须掌握的技能,而且,面试一定会问。那么,我希望面试者能答出其中的80%优化点,在这个问题上才算过关。 数设置 其他 Hive执行 HQL --> Job --> Map/Reduce 执行计划 explain [extended] hql 样例 select col,count(1) from test2 group by col; explain select col,count(1) from test2 group by col; Hive表优化 分区 set hive.exec.dynamic.partition 查询最终的输出也可以压缩 Hive Map优化 set mapred.map.tasks =10; 无效 (1)默认map个数 default_num=total_size/block_size; (2) map个数,则设置mapred.map.tasks为一个较大的值 如果想减小map个数,则设置mapred.min.split.size为一个较大的值 情况1:输入文件size巨大,但不是小文件 情况2:
President.getInstance(); zt2.getName(); //输出总统的名字 if(zt1==zt2) { 2、可以设计出多个不同的具体装饰类,创造出多个不同行为的组合 结构模式: 1、抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。 2、具体构件(Concrete Component)角色:实现抽象构件,通过装饰角色为其添加一些职责。 2、复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。 3、将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题。 2、适配者(Adaptee)类:它是被访问和适配的现存组件库中的组件接口。
权重矩阵的退化导致模型的有效自由度减少. 2.
示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 实例2: 输入:nums = [0,1] 输出 比如要排3个数[1,2,3],你会第一位先排1,然后第二位只能是2或者3,如果第二位是2,第三位只能是3了... 示例1: 输入:candidates = [2,3,6,7], target = 7 输出:[[2,2,3],[7]] 解释: 2 和 3 可以形成一组候选,2 + 2 + 3 = 7 。 实例2: 输入: candidates = [2,3,5], target = 8 输出: [[2,2,2,2],[2,3,3],[3,5]] 4.1 思路 我们先穷举找下规律嘛,拿示例1的数据candidates = [2,3,6,7], target = 7: 7 = 2 + 2 + 3 7 = 7 再拿示例2的数据: 8 = 2+ 2 + 2 +2 8 = 2 + 3 + 3 8 = 3 + 5 其实规律还是比较清晰的
处理完一批数据之后,会写入(null,null)这一条特殊的数据,表示 HFileOutputFormat2 在持久化的过程中,需要新创建一个 HFile。 Reducer 的数目决定,是在 HFileOutputFormat2 的 configureIncrementalLoad 方法里。 生成 HFile HFileOutputFormat2 负责将Reduce的结果,持久化成 HFile 文件。 . |---- column_family_1 | |---- uuid_1 | `---- uuid_2 |---- column_family_2 | |---- uuid3 | HFileOutputFormat2 会创建 RecordWriter 实例,所有数据的写入都是通过 RecordWriter。
2. 作为年老代中使用 CMS 收集器的后备垃圾收集方案。 新生代 Serial 与年老代 Serial Old 搭配垃圾收集过程图: ? 2.并发标记: 进行 GC Roots 跟踪的过程,和用户线程一起工作,不需要暂停工作线程。
介绍 很多人学过C语言,但在面对嵌入式软件开发相关面试的时候依然不知所措,因为C/C++纯软件的常用开发技巧有些嵌入式并不常用,而嵌入式开发中使用到的C/C++知识与技巧有些也非常特别。 本文就来介绍嵌入式开发中C/C++面试必备知识。 必备知识 include “filename.h”’和include <filename.h>有什么区别? 还是以上面的结构体 asd1 和 asd2 为基础,都添加 double 型数据成员。 disable_fault_irq(); NVIC_SystemReset(); #endif string.h 库函数(以memcpy函数为例) C库函数是我们开发过程中必不可少的,其中面试中突出考察的大多为 面试例题 叙述题 请按时间复杂度对以下排序方法进行分类 a) 快速排序;b) 冒泡排序;c) 归并排序;d) 堆排序;e) 插入排序 O(n^2):b、e O(n*logn):a、c、d #define
2020最全的前端面试指南,一个多月 1.8w 字的面试经验积累,凭借它最终成功入职大厂…… 今年的金三银四刚好赶上疫情,很多大公司都停止招聘甚至裁员,想跳槽的小伙伴被打的措手不及。 需求减少要求肯定随之提高,谨以此面经献给在如此艰难之时逆风而动、勇敢坚强的你~ 与面试贴合度更高的 前端面试必备技巧(二)重难点梳理 整理好啦,两篇文章结合起来看效果更佳~ 最近掘金有点不稳定,文章偶尔看不到 而 css 相关的很少问到,最多也就问个三栏布局、两栏布局、水平垂直居中,把前两节看了面试基本没啥问题。 框架 React/Vue 相关的在中小公司问的多一些,差不多占到面试时间的一半。 比如你说异步加载,面试官会追问异步加载的方法,deffer 和 async 的区别。 Event Loop结束; 11.结果:1,3,2 十二、页面性能 面试必考,这五个最好都能记住。
艿艿:选读,面试不问。作为一个知识点,比较底层~ 直接看 《虚拟内存的那点事儿》 文章。 磁盘、目录、文件 简单 Linux 文件系统? 艿艿:一般来说,面试不会问 inode 。但是 inode 是一个重要概念,是理解 Unix/Linux 文件系统和硬盘储存的基础。 查看 《理解 inode》 文章。 一般来说,面试官不太会问这个题目。 Linux 通过 inode 节点表将文件的逻辑结构和物理结构进行转换。 详细的,可以看看: 《Linux 命令大全 —— iptables 命令》 《Linux 面试经历:iptables 面试题》 《百度 Linux 运维防火墙 iptables 的面试题》 《奇虎 360 这是一个必备技能。 是否可以给一个网卡配置多个 IP? 可以,参见文章 《Linux 下一个网卡配置多个 IP【虚拟ip】》 。不过,一般比较少这么做。
按照传统的经验,如果某个对象是非线程安全的,在多线程环境下对象的访问需要采用synchronized进行同步。但是模板类并未采用线程同步机制,因为线程同步会降低系统的并发性能,此外代码同步解决线程安全问题的挑战很大,可能会增加好几倍的实现难度。那么模板类到底采用什么方法来解决线程安全的难题呢?答案就是ThreadLocal。
2. 如图,线程A拥有的资源2,线程B拥有的资源1,此时线程A和线程B都试图去拥有资源1和资源2,但是它们的还在,因此就出现了死锁。 3.3 为什么调用start()方法会执行run()方法,为什么不能直接调用run()方法 这是一个常问的面试题,new Thread,线程进入了新建的状态,start方法的作用是使线程进入就绪的状态, 例子:mian函数中new Thread2,Thread2中new Thread1 thread1线程的构造方法,静态块是thread2线程调用的,run方法是thread1调用的。 thread2线程的构造方法,静态块是main线程调用的,run方法是thread2调用的。 4.17 Java中是如何保证多线程安全的?
总结 Swift 相关面试题,分为初级、中级、高级三类,希望能帮助大家。 初级 问题1- 什么是 optional 类型,它是用来解决什么问题的? 问题2- 在 Swfit 中,什么时候用结构体,什么时候用类? ---- 答案:一直都有这样的争论:到底是用类的做法优于用结构体,还是用结构体的做法优于类。 2、解决强引用的循环问题——当两个实例对象相互引用,并且对引用的实例对象的值要求不能为 nil 时候。在这种情况下,引用的一方可以标记为 unowned,另一方使用隐式拆包。 问题2- 下面的功能特性都包含在 Swift 中吗? ---- 1、泛型类 2、泛型结构体 3、泛型协议 答案: Swift 包含 1 和 2 特性。 init(_ value: T) { self.value = value } } enum Either{ case Left(Box) case Right(Box) } 问题2-
> rpush list-key item (integer) 1 > rpush list-key item2 (integer) 2 > rpush list-key item (integer) 3 > lrange list-key 0 -1 1) "item" 2) "item2" 3) "item" > lindex list-key 1 "item2" > lpop list-key "item" > lrange list-key 0 -1 1) "item2" 2) "item" SET ? sub-key1 value1 (integer) 0 > hgetall hash-key 1) "sub-key1" 2) "value1" 3) "sub-key2" 4) "value2" 假设有 4 个 Redis 实例 R0,R1,R2,R3,还有很多表示用户的键 user:1,user:2,... ,有不同的方式来选择一个指定的键存储在哪个实例中。