미단 평가 학교 모집 전단방향 필기시험 문제
34822 단어 면접
var name = 'global';
var obj = {
name: 'local',
foo: function(){
this.name = 'foo';
}.bind(window)
};
var bar = new obj.foo();
setTimeout(function() {
console.log(window.name);
}, 0);
console.log(bar.name);
var bar3 = bar2 = bar;
bar2.name = 'foo2';
console.log(bar3.name);
정답:foo,foo2,global
확인:
고찰점 3개: 1. 출력 순서 주요 고찰: Event Loop;2. 첫 번째와 세 번째 출력 고찰:this지침;3. 두 번째 출력 고찰: 인용 유형 부여
class A {
String i = "op";
void func(String s) {
s = ""+9;
}
static void test() {
A a = new A();
a.func(a.i);
}
}
질문:
1. i,s,a ,new A 。
2. a.i op。
3. 다음과 같은 코드가 실행된 후에 발생한 결과를 작성하고 결과가 어떻게 나왔는지 설명해 주십시오.
setTimeout(() => console.log('a'));
Promise.resolve().then(
() => console.log('b’);
).then(
() => Promise.resolve('c').then(
(data) => {
setTimeout(() => console.log('d'));
console.log('f');
return data;
}
)
).then(data => console.log(data));
정답:bfcad
고찰점: 주로 js 이벤트 루프와 매크로 임무와 마이크로 임무를 고찰한다.
4. 다음 ES6 코드를 컴파일하여 생성한 ES5 코드를 작성하십시오.
class Person {
constructor (name) {
this.name = name;
}
greet () {
console.log(`Hi, my name is ${this.name}`);
}
greetDelay (time) {
setTimeout(() => {
console.log(`Hi, my name is ${this.name}`);
}, time);
}
}
var Person = (function () {
function Person (name) {
this._name = name;
}
Person.prototype.greet = function () {
console.log(“Hi, my name is “ + this._name);
}
Person.prototype.greetDelay = function (time) {
var _this = this;
setTimeout(function () {
console.log(“Hi, my name is “ + _this.name);
}, time);
}
})();
5. 형상은 1, 1, 2, 3, 5, 8, 13, 21, 34, 55의 수열, 뒷자리는 앞의 두 자리를 더하는 것(피보나치 수열), 함수를 써서 N위가 얼마인지 찾아야 한다. 예를 들어fib(3)=>3,fib(5)=>8, 시간 복잡도는 O(n)이다.
function fib(n){
let top=1,bottom=0,res=0
for(let i=0;i<n;i++){
res=top+bottom
bottom=top
top=res
}
return res
}
#include
using namespace std;
long long feb(int n)
{
long long a=1,b=1,c=1;
int i;
for (i=0;i<n-1;i++)
{
c=a+b;
a=b;
b=c;
}
return c;
}
int main()
{
int n;
cin>>n;
cout<<feb(n)<<endl;
return 0;
}
6. 최근 모 백화점은 주년 경축으로 "0원에 구매"행사를 열었다.행사 중 소비자는 수중의 대금권을 조합하여 0원에 지정된 상품을 구매할 수 있다.
똑똑한 소단은 알고리즘으로 그의 빠른 계산을 돕고자 한다. 지정된 가격의 상품에 대해 대금권을 사용하여 그 가격을 모으면 되지만 사용한 대금권의 총 액면액은 상품 가격을 초과해서는 안 된다.대금권의 수량이 제한되어 있기 때문에 비교적 적은 대금권의 장수를 사용하면 가치의 최대화, 즉 최상의 혜택을 실현할 수 있다.
현재 100위안짜리 상품이 있는데 대금권은 50위안, 30위안, 20위안, 5위안 네 가지가 있다고 가정하면 가장 좋은 혜택은 50위안짜리 대금권 두 장이다.현재 65위안짜리 상품이 있다면 가장 좋은 혜택은 30위안짜리 금권 두 장과 5원짜리 금권 한 장이다.
당신이 소단이 코드를 사용하여 대금권 계산을 실현하는 것을 도와주세요.
입력 설명: 여러 그룹의 입력과 출력, s=0을 읽을 때 입력을 끝내면 여러 개의 테스트 샘플이 있을 수 있습니다. 각 테스트는 두 줄로 구성되어 있습니다.그중 첫 번째 줄은 하나의 정수P를 포함하여 상품의 가격을 나타낸다. 1≤P≤10000;P를 0으로 입력하면 종료됩니다.
두 번째 줄에는 공백을 사용하여 분할하는 몇 가지 정수가 포함되어 있습니다.그중 첫 번째 정수 N(1≤N≤20)은 몇 종류의 대금권이 있는지 표시하고, 그 다음에 M개의 정수를 따라 수중에 소지하고 있는 대금권의 액면가(1≤N≤1000)를 표시하며, 각 대금권의 수량은 제한되지 않는다.
수출 설명: 최소 장수의 대금권을 찾아 액면가가 상품 가격과 꼭 맞도록 한다.사용한 대금권 수량 수출하기;
만약 여러 개의 가장 좋은 해가 있다면, 그 중 하나만 출력하면 된다.
해결되지 않으면 Impossible을 내보내야 합니다.
예제 1 입력 65 4 50 30 20 50 출력 3
:https://www.nowcoder.com/questionTerminal/5d2405da8d364eafbaca1de9bc2a0d4e
:
while(true){
let nums = parseInt(readline())
if(nums === 0 ) break
let coins = readline().split(" ").map(Number).slice(1)
console.log(fn(coins,nums))
}
function fn(coins,nums){
let dp = new Array(nums+1).fill(Infinity)
dp[0] = 0
for(let i = 1;i<=nums;i++){
for(let coin of coins){
if( i >= coin ){
dp[i] = Math.min(dp[i],dp[i-coin]+1)
}
}
}
return dp[nums] === Infinity ? 'Impossible' : dp[nums]
}
:https://www.nowcoder.com/questionTerminal/5d2405da8d364eafbaca1de9bc2a0d4e
:
#include
using namespace std;
int main(){
int flag=1;
while(flag){
int cash;
cin>>cash;
if(cash==0){
break;
}
int num;
cin>>num;
int *coins=new int[num];
int count=0;
int size=num;
while(num--){
cin>>coins[count];
count++;
}
for(int p=0;p<size;++p){
for(int q=0;q<size-p-1;++q){
if(coins[q]>coins[q+1]){
swap(coins[q],coins[q+1]);
}
}
}
int *F=new int[cash+1];
for(int i=0;i<=cash;++i){
F[i]=cash+1;
}
F[0]=0;
for(int j=0;j<=cash;++j){
for(int k=0;k<size;++k){
if(j<coins[k]){
break;
}
else{
F[j]=min(F[j-coins[k]]+1,F[j]);
}
}
}
if(F[cash]==cash+1){
cout<<"Impossible"<<endl;
}
else{
cout<<F[cash]<<endl;
}
}
}
7. 마이너스 정수가 아닌 M x N 미로를 지정합니다. 왼쪽 상단에서 오른쪽 하단까지의 경로를 찾아 경로의 숫자를 최소화합니다.매번 아래나 오른쪽으로 한 발자국만 이동할 수 있다.
작은 덩어리는 성간 여행에서 비행선의 에너지를 다 소모하여 공간 마방에 잃어버렸다. 공간 마방 중에는 NNN 개의 에너지 입자가 있다.미단운 AI는 소단을 도와 공간 마방의 에너지 분포도를 신속하게 분석했다.
이미 알려진 소단의 비행선은 에너지가 가장 높은 점에 갇혀 있으며, 에너지가 가장 높은 점은 하나밖에 없다.비행선이 한 에너지에 도달할 때마다 입자에 대응하는 에너지를 흡수하고 이 입자는 작은 블랙홀로 붕괴되어 비행선이 도착할 수 없다.소단이 조종하는 비행선은 고에너지 입자에서만 저에너지 입자로 갈 수 있고 매번 6개 방향 중 하나만 선택할 수 있다.(±x,±y,±z).
작은 덩어리가 가장 높은 에너지치를 흡수하는 것을 도와주세요.
https://www.nowcoder.com/test/question/done?tid=31652586&qid=894519#summary
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
면접 예상 질문: CSS, Javascript 고급position 속성이란? display 속성이란? flex: 1차원 (가로 or 세로) 적으로 배치할 수 있는 방식 grid: 2차원 (가로, 세로 동시에) 적으로 배치할 수 있는 방식 reset.css vs. s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.