跳转至

2023

Java

java运行的特点

JVM(java虚拟机)

Just-In-Time (JIT) 编译器

  • JIT编译器是一种动态编译技术,它将程序的一部分或者全部源代码或更常见的字节码在运行时编译成机器码,然后将编译后的代码替换原来的代码。
  • 字节码(英语:Bytecode)通常指的是已经经过编译,但与特定机器代码无关,需要解释器转译后才能成为机器代码的中间代码(多为虚拟机代码)。典型应用为Java虚拟机里的Java bytecode。
  • 主要优点是可以在运行时根据程序的运行情况进行优化,从而提高程序的执行效率。
  • 字节码编译是跨平台的,便于移植的。
  • 主要缺点是编译字节码导致的延迟和空间开销较大,因此只有在程序运行时间较长的情况下才能体现出优势。
  • 是提前编译(AOT)和字节码解释器(python的实现)的结合体,它的执行效率介于两者之间。

区别

  1. Java Virtual Machine (JVM) is an abstract computing machine.
  2. Java Runtime Environment (JRE) is an implementation of the JVM.
  3. Java Development Kit (JDK) contains JRE along with various development tools like Java libraries, Java source compilers, Java debuggers, bundling and deployment tools.
  4. Java SE: Java™ Platform Standard Edition 21 Development Kit - JDK™ 21
  5. Just In Time compiler (JIT) is runs after the program has started executing, on the fly. It has access to runtime information and makes optimizations of the code for better performance.

Install

Intall for topcoder

chinese ref

  1. download from website
  2. But the first download choice java 21 SDK seems not contain Java Control Panel (javacpl.exe), you need to install Java SE Development Kit 8u381 which include JDK 1.8 and JRE 1.8
  3. config Java Control Panel, add https://www.topcoder.com to allowed website (Attention: https)
  4. open ContestAppletProd.jnlp
  5. need 127.0.0.1 proxy and HTTP TUNE 1 to connect to server

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

Keyboard

It's a fucking crazy thing when you reuse a Bluetooth device, because forget how to make pair.

logitech K780

My keyboard encounter Poor contact of keyboard keys, esepeacially the ctrl

change Win/Mac/IOS configurations

iOS fn + i

Mac OS X fn + o

Windows fn + p

LEOPOLO FC980M

Bluetooth pair

Read more: official ref and ref_photo

It seems that just

  1. Open the battery cover
  2. insert AAA battery and Set the power switch to the ON position.

you can Turn on the Bluetooth.

Answer from TAOBAO

连接蓝牙方法:(我们键盘没有送蓝牙适配器)需要您电脑有蓝牙功能,

  1. 第一步背后大开关打到on,
  2. 第二步用取卡针捅一下大开关下面的孔、进入配对环节,
  3. 第三步打开电脑蓝牙搜蓝牙键盘的型号按提示连接就行。参考

Windows weird option 输入 FC980MBT 的PIN,也可以选择关闭,尤其是鼠标也需要输入时:

  1. type 00000 using original keyboard,click confirm.
  2. type 00000 using new keyboard, enter.

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

Interview

Keep in mind

  1. 只背⼋股⽂,是不⾏的,不太好进⼤公司。
  2. ⼤家要知道,⾯试官也是⼈,也知道候选⼈都在背⼋股⽂,⽽且⾯试官⾯过很多⼈,身经百战,你是背诵的,还是⾃⼰深刻理解过的,⾯试官⼀⾯你,就能知道你⼏⽄⼏两。也就是说,如果只会照本宣科的背⼋股⽂,⾯试会⽐较难受,碰到稍微严格的⾯试官,挖你细节,问到你不会为⽌,你会扛不住,⽆法根据情景说出⾃⼰的理解,这会给⾯试官很不好的印象,觉得你只会照猫画⻁。
  3. 在我看来,⽆论多么浅显的⼋股⽂,都要经过⾃⼰的实战经验,深度思考,再⽤⾃⼰的理解说出来,就算你的回答不是最好的答案,我觉得都没关系,你要让⾯试官看到你的潜⼒,看到你严谨的思维,清晰的表达

编程风格 (TO DO:有待拓展:编程素养)

Google C++

  1. 面向对象的数据结构思想:不要随便添加新的数据结构(边的信息),最好是在点的对象上添加。
  2. 让事情变得更简单、绝不重新发明轮子、尽可能使用经过验证的可靠技术。
  3. Time to use Class in C++
  4. Data and it's interface (复杂的数据/集合/容器和借口关系)
    1. 基类:数据,派生类:借口
  5. diff elements but in same one high level type (不同的事物,但是相同的抽象操作. )
    1. 基类:geometry(只是虚函数的框架),派生类:line, circle, Rectangle,相同操作:draw,calculate_area
    2. 基类:chart(只是虚函数的框架),派生类:line, bar, pie,相同操作:draw,push(add data)
    3. 数据格式以及初始化,要多态?
  6. Basic info & its specific application (信息的封装)
    1. 基类:基本信息,派生类:应用方向的基类
  7. useful utils (跨应用的常用轮子)

八股总结

  1. C++编程类
  2. 小贺 PDF
  3. 拓跋阿秀
  4. github interview c++
  5. 计网和操作系统
  6. 小林coding 图解
    1. 多进程通讯的方式,图解
    2. rdma, 下一代网络和互联技术

技术面

  1. 自我介绍
  2. 出彩经历介绍(项目、实习)
  3. STAR法则,也就是:“Situation: 事情是在什么情况下发生的;Task: 你的任务(难点)是什么;Action: 你的行动是什么;Result: 结果怎样。
  4. 时间占比如下,可以适当强调自己的工作 S+T:25% A:50% R:25%
  5. 技术测试(编程语法,和算法)
  6. 字节更看重编程,直接手撕各种算法

业务主管面

更宏观的问题:

  1. 职业规划为主:
  2. 详见 career blog
  3. 对各种事物的看法与价值观是否契合
  4. (越偏研究和长远发展的部门,问的越广泛。越偏业务的部门,问题越实际)

HR 面

面试官提问的:(生活相关的)

  • 配偶,家庭成员

我提问的内容

  • 工作内容:详细讨论了你去这个部门能做什么,准备安排你做什么,问你能不能胜任,保证了你是知道进去的工作内容。
  • 薪酬:注意前面两面也有问你的期望,那时候不要说太少,本人当时就是期望薪酬定的太低了,HR直接就给了。后面想反悔也不行。
  • 聊聊住址城市、升职,转正。
  • 工作节奏(上下班,周末)
  • 基本上都是8小时工作制,双休,午休一小时。弹性上班9点半到10点半。

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

Interview in english

Interview Preparation:

There is no set structure or format for your interview; it really just depends on the interviewer, and the direction the conversation goes, etc. You will likely be asked to explain something you worked on, and that would include some core skillset questions to check your understanding of your projects. Here are a few general suggestions to help you prepare:

1) Be prepared to speak at depth regarding any core skillset details in your background, for example: coding/technology-based questions; the two best ways to prepare for this would be to review your resume, and make sure you are able to talk at depth about skills you mentioned there, and to review the job description, and brush up on anything you might know, but feel you might not be able to go into detail about.

2) Ask good questions – about team, what we are up to, possible role/roles you might be a good fit for.

3) Read up on our website about our products and the company (many interviewers will ask what you know about us, and it is better to be prepared to answer - it shows interest in the company and what we are up to).

4) Access to a computer with an internet connection is typically required for your interviews

self-introduction in English

"Hello, I am a graduate student majoring in Computer Science and Technology at the University of Science and Technology of China. I am currently pursuing/pəˈsjuːɪŋ/ a master's degree. I completed my undergraduate studies at the same university and had the opportunity to participate in both the ASC and ISC competitions during my undergraduate years.

In my graduate studies, I have primarily focused on research related to High-Performance Computing. This includes projects such as static code analysis for Kunpeng processors, participation in program parallelization and acceleration optimization competitions, and exploring PIM (Processing in Memory) computing.

Through my academic and research experiences, I have developed a dual/ˈduːəl/ expertise /ˌekspɜːˈtiːz/ in computer microarchitecture and practical/ˈpræktɪkl/ application optimization. I have honed/hoʊnd/ the ability to swiftly identify program hotspots when faced with new applications, leveraging/ˈlevərɪdʒ/ the unique characteristics of computer systems to achieve efficient deployment and enhance program performance.

Furthermore, I have taken a keen/kiːn/ interest in emerging technologies such as artificial intelligence and machine learning. I aspire to apply these skills flexibly in fields like AI for science/HPC and AI program deployment. Thank you for considering my candidacy/ˈkændɪdəsi/ for this opportunity."

项目的介绍和关键字

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

https://www.nowcoder.com/discuss/401041683767468032

2.3: Health Quantify

fitness

230910 230922
Neck 39cm
bust 89cm
the whole body 110cm
waist 84cm
hipline 95cm
Upper Arm Circumference 27cm
Forearm circumference 23.4cm
Thigh Girth 57cm 54.6cm
calf Grith 38.4cm 36.5cm
weight 65.4kg 65.9kg

stretching

  1. 弓箭步/站立版坐位体前屈,大小腿后侧
  2. 后提脚踝,并大腿,前倾,拉伸大腿前侧
  3. 侧面压腿,翘脚尖

Running

  1. 隔天跑
  2. 抬头收腹,挺直上半身
  3. 双手拔枪摆动,且向后用力摆
  4. 重心在脚底,而且前脚掌着地,而且离地后迅速向前收缩。膝盖弯曲
  5. 放松轻盈。

walking / Posture

  1. 抬头,收腹提背(收肋骨,吐腹部)
  2. 臀大腿发力,减少小腿发力。
  3. 足弓发力

Problem

  1. 体态:肋骨外翻(肋骨高于锁骨),核心不足,
  2. 表现:腰围代偿性增粗,粗大腿,粗小腿

Plan

  1. 早上床上拉伸,
  2. 侧卧抬腿
  3. 抱膝
  4. 工作:按压拉伸小腿。时刻注意腹式呼吸体态。
  5. 晚饭前跑步,拉伸
  6. 晚上床上拉伸

锻炼 不能 瘦小腿。正确的走路姿势才行

这个说得很在点子上,我是在19年末的时候通过改变走路发力方式瘦小腿的。与其说瘦腿,其实更是和大腿相比看起来更匀称,我之前的小腿肚站起来时候和大腿一样粗,站直的时候膝盖甚至是合不上的。经过反思,发现我日常走路的时候时间长了经常会感到小腿酸胀,这其实一直是在用小腿走路,我在这期间尝试过跑步,虽小有成效,但停下来就又会恢复原状。这种情况导致的小腿粗是一个比较复杂的原理,但我最后通过大半年的时间对走路方式进行了调整,现在虽然小腿不算细,但和大腿比起来看起来已经相当正常了,我的调整策略如下: 走路时注意重心靠后,也就是后背中间的位置,同时双肩放松,这样你会不自觉地挺胸抬头,同时为保持平衡感觉到腹部有牵引感。走路时大腿内侧和屁股发力,重点来了:保持脚后跟尽量贴住地面(踮脚走路是大忌),迈步时脚后跟先接触地面,在前脚后跟接触地面之前,后脚后跟不要离开地面。简单来说就是用脚后跟走路,你会发现这个过程中小腿是几乎不怎么发力的,时间久了只要不是肥胖型自然会瘦下来。

参考文献